如果您需要管理OSS存储空间、上传下载文件、进行图片处理等,可以先安装OSS iOS SDK。本文介绍如何安装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
。
在Swift中使用SDK
OSS提供了Objective-C版本的 SDK,在Swift项目中可以使用Objective-C版本的SDK混合编码。OSS提供了Swift如何使用SDK的Demo。更多信息,请参见GitHub。
兼容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。在实现加签、获取STS Token等回调时,需确保不会发出非HTTPS的请求。