本文介绍如何安装OSS iOS SDK。
环境要求
- iOS系统版本:iOS 8.0及以上
- macOS版本:10.10及以上
直接引入Framework
如何获取OSS iOS SDK Framework,请参见GitHub。
在Xcode中,直接把Framework拖入您对应的Target下即可,在弹出框选中Copy items if needed。
Pod依赖
如果工程是通过Pod管理依赖,只需在Podfile中加入以下依赖,不需要再导入Framework。
pod 'AliyunOSSiOS'
说明 您可以选择直接引入Framework或者Pod依赖两种方式中的任意一种。
工程中引入头文件
#import <AliyunOSSiOS/OSSService.h>
注意 引入Framework后,需要在工程
Build Settings
的
Other Linker Flags
中加入
-ObjC
。如果工程已设置了
-force_load
选项,则需要加入
-force_load <framework path>/AliyunOSSiOS
。
兼容IPv6-Only网络
为了解决无线网络下域名解析容易遭到劫持的问题,OSS移动端SDK引入了HTTPDNS进行域名解析,直接使用IP请求OSS服务端。在IPv6-Only 的网络下可能会遇到兼容性问题。苹果官方近期发布了关于IPv6-only网络环境兼容的App审核要求。为此,SDK从2.5.0版本开始已经做了兼容性处理。在新版本中,除了-ObjC的设置,还需要引入如下两个系统库:
libresolv.tbd CoreTelephony.framework SystemConfiguration.framework
关于苹果ATS政策
WWDC 2016开发者大会上,苹果宣布从2017年1月1日起,苹果App Store中的所有App都必须启用App Transport Security(ATS)安全功能。即所有新提交的App默认不允许使用NSAllowsArbitraryLoads
绕过ATS限制。此外,还需保证App的所有网络请求都必须通过HTTPS加密,否则可能会在应用审核时遇到麻烦。
OSS iOS SDK在2.6.0
以上版本中对此做出支持。SDK不会自行发出任何非HTTPS请求,同时SDK支持https://
前缀的Endpoint
,只需要设置正确的HTTPS Endpoint
,即可保证发出的网络请求均符合要求。
注意
- 设置
Endpoint
时,需使用https://
前缀的URL。 - 在实现加签、获取STSToken等回调时,需确保不会发出非HTTPS的请求。