本文介绍如何安装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 SettingsOther 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的请求。