开发者社区> 问答> 正文
0
0
分享

iOS SDK手册应该如何使用?(2)



2. 应用程序配置与初始化


HTTPDNS iOS SDK,自v1.1.0版本已全面支持苹果ATS要求,无需在Info.plist中配置ATS。

2.1 依赖


系统公共库:
  • libresolv.tbd
  • CoreTelephony.framework
  • SystemConfiguration.framework

AMS组件包
  • UTDID.framework
  • AlicloudUtils.framework

如果遇到 UTDID 冲突可参考: 《阿里云-移动云产品SDK UTDID冲突解决方案》

2.2 获取服务实例


HTTPDNS iOS SDK以全局service实例的方式提供域名解析服务,您可以通过以下方式获取实例:
  1. // 设置AccoutID,当您开通HTTPDNS服务时,您可以在控制台获取到您对应的Accout ID信息
  2. HttpDnsService *httpdns = [[HttpDnsService alloc] initWithAccountID::*****];


2.3 设置预解析域名


在您初始化程序时,可以选择性地预先向HTTPDNS SDK中注册您后续可能会使用到的域名,以便SDK提前解析,减少后续解析域名时请求的时延。您只需调用以下接口:
  1. NSArray * hosts = [[NSArray alloc] initWithObjects:@"www.taobao.com", @"www.aliyun.com", nil];
  2. [httpdns setPreResolveHosts:hosts];

注意预解析接口设置的同时会实时触发异步网络请求,应该在代码逻辑上确保调用预解析接口时,已经进行了必备的初始化设置。
比如: setHTTPSRequestEnabled: 需要在预解析接口之前调用,否则会导致预解析的相关 IP 采用 HTTP请求。

2.4 启用鉴权功能


首先需要在控制台开启鉴权功能:
在控制台开启鉴权功能后,SDK 需要更改初始化方式,改用下面的方法进行初始化,即可开启鉴权:
  1. /*!
  2. * @brief 启用鉴权功能的初始化接口
  3. * @details 初始化、开启鉴权功能,并设置 HTTPDNS 服务 Account ID,鉴权功能对应的 secretKey。
  4. *          您可以从控制台获取您的 Account ID 、secretKey 信息。
  5. *          此方法会初始化为单例。
  6. * @param accountId 您的 HTTPDNS Account ID
  7. * @param secretKey 鉴权对应的 secretKey
  8. */
  9. - (instancetype)initWithAccountID:(int)accountID secretKey:(NSString *)secretKey;

目前 iOS SDK 鉴权时间戳过期时间统一为 10 分钟
HTTPDNS 场景下兼容 IPv6-only 网络环境需要注意的细节:
当您使用 IP 形式的 URL 进行网络请求时,IPv4 与 IPv6 的 IP 地址使用方式略有不同:
  • IPv4: http://1.1.1.1/path
  • IPv6: http://[2001:db8:c000:221::]/path

即在URL中使用IPv6地址时需要在IPv6地址基础上额外加上 []。为了方便开发者的使用,HTTPDNS提供了适配URL格式的IP获取接口 -[HttpDnsService getIpByHostAsyncInURLFormat:]。当您通过HTTPDNS进行IP获取,并使用该IP进行基于URL的网络访问时,您可以通过上述API直接获取符合URL使用场景,格式化后的IP信息,如1.1.1.1,[2001:db8:c000:221::]。如果您仅仅为了获取精准的IP信息并另做它用,您可以继续使用老接口 -[HttpDnsService getIpByHostAsync:]

3.2 使用示例


您可以通过获取alicloud-ios-demo工程源码获得HTTPDNS服务的使用例程。

展开
收起
猫饭先生 2017-10-20 14:41:33 1715 0
举报
飞天免费试用计划
领取免费云资源,开启云上实践第一步
全局流量管理 GTM
标准版 1个月
额度1个月内有效
云解析 DNS
旗舰版 1个月
额度1个月内有效
.cn 域名
1个 12个月
额度12个月内有效
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载