如果您需要管理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 SettingsOther 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的请求。