永发信息网

IOS系统怎么去ping一个地址

答案:1  悬赏:70  手机版
解决时间 2021-11-14 21:29
  • 提问者网友:雨不眠的下
  • 2021-11-13 21:50
IOS系统怎么去ping一个地址
最佳答案
  • 五星知识达人网友:平生事
  • 2021-11-13 23:10
Ping++ SDK 包括 Server 和 Client 两部分。
其中 Server SDK 提供了 PHP,Java, Python, Node.js, Ruby, Go六种语言版本。
Client SDK 提供了 Android, iOS,HTML5 三种平台版本。
应用在接入 Ping++ SDK 时,需要使用以下三个参数,这三个参数你可以在管理平台中获取:
API Key:API Key 是 Ping++ 分配给你的唯一身份标识。在 Server SDK 的使用过程中需要配置该参数。注册 Ping++ 账号并通过审核后,Ping++ 会分配给你两个 API Key,分别为:Test Key 和 Live Key。 Test Key 和 Live Key 分别表明使用测试模式和真实模式,你可以根据实际应用使用场景分别使用。
应用 ID:应用 ID 是 Ping++ 分配给你的应用的唯一标识。在 Server SDK 的使用过程中需要配置该参数。
Notify URL:Notify URL 是 Ping++ 系统用来向你的应用后台推送异步通知时使用的地址,该地址必须是一个互联网可以访问的地址。你可以在 Ping++ 管理平台中对应的应用内进行设置。
一、接入步骤:
获取 SDK
从 Github 下载 SDK, 里面包含了 lib 文件夹和 example 文件夹。lib 文件夹里面是 SDK 的文件,example 文件夹里是接入示例代码
依赖 Frameworks:
必需:
CFNetwork.frameworkSystemConfiguration.frameworkSecurity.frameworklibc++.dylib

百度钱包所需:
libz.dyliblibstdc++.dylibCoreTelephony.frameworkAddressBook.frameworkAddressBookUI.frameworkAudioToolbox.frameworkCoreAudio.frameworkCoreGraphics.frameworkImageIO.frameworkMapKit.frameworkMessageUI.frameworkMobileCoreServices.frameworkQuartzCore.framework

根据所需渠道导入相应的库文件
添加 URL Schemes:在 Xcode 中,选择你的工程设置项,选中 "TARGETS" 一栏,在 "Info" 标签栏的 "URL Types" 添加 "URL Schemes",如果使用微信,填入所注册的应用程序 id,如果不使用微信,则自定义,建议起名稍复杂一些,尽量避免与其他程序冲突。
添加 Other Linker Flags:在 Build Settings 搜索 Other Linker Flags ,添加 -ObjC。
二、发起支付:

1. Client 发送支付要素给 Server
用户选择渠道点击交易按钮, Client 收集交易所需的相关参数传递给 Server (服务器的地址为代码中的 URL)。
NSDictionary* dict = @{ @"channel" : channel, // 渠道 alipay, wx, upacp, bfb @"amount" : amount // 金额};NSData* data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];NSString *bodyData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];[postRequest setHTTPBody:[NSData dataWithBytes:[bodyData UTF8String] length:strlen([bodyData UTF8String])]];[postRequest setHTTPMethod:@"POST"];[postRequest setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];NSOperationQueue *queue = [[NSOperationQueue alloc] init];[NSURLConnection sendAsynchronousRequest:postRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response; NSString* charge = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; // ...}];

2. Server 发送支付请求并将返回的支付凭据传给 Client
Server 接收并处理 Client 传过来的数据,使用 Ping++ 提供的方法向 Ping++ 发起交易,并将从 Ping++ 获得的带支付凭据的 Charge 对象返回给 Client。
$orderNo, //商户系统自己生成的订单号 "app" => array("id" => "YOUR-APP-ID"), //Ping++ 分配给商户的应用 ID "amount" => $amount, //交易金额 "channel" => $channel, //交易渠道 "currency" => "cny", "client_ip" => $_SERVER["REMOTE_ADDR"], //发起交易的客户端的 IP "subject" => "Your Subject", "body" => "Your Body", "extra" => null //仅客户端为 HTML5 时此参数不为空,具体请参考 API Reference 文档 ));echo $ch;

3. Client 调起支付控件完成支付
Client 接收 Server 返回的带支付凭据的 Charge 对象并用之调起支付插件完成交易
[Pingpp createPayment:charge viewController:viewController appURLScheme:kUrlScheme withCompletion:^(NSString *result, PingppError *error) { if ([result isEqualToString:@"success"]) { // ... } else { NSLog(@"PingppError: code=%lu msg=%@", error.code, [error getMsg]); }}];
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯