全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

安装

更新时间:2017-06-07 13:26:11

直接引入Framework

需要引入OSS iOS SDK framework。

在Xcode中,直接把framework拖入您对应的Target下即可,在弹出框勾选Copy items if needed

Pod依赖

如果工程是通过pod管理依赖,那么在Podfile中加入以下依赖即可,不需要再导入framework:

  1. pod 'AliyunOSSiOS'

Cocoapods是一个非常优秀的依赖管理工具,推荐参考文档: CocoaPods安装和使用教程

直接引入Framework和Pod依赖,两种方式选其一即可。

工程中引入头文件

  1. #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的网络下,可能会遇到兼容性问题。而APP官方近期发布了关于IPv6-only网络环境兼容的APP审核要求,为此,SDK从2.5.0版本开始已经做了兼容性处理。在新版本中,除了-ObjC的设置,还需要引入两个系统库:

  1. libresolv.tbd
  2. SystemConfiguration.framework

关于苹果ATS政策

WWDC 2016开发者大会上,苹果宣布从2017年1月1日起,苹果App Store中的所有App都必须启用 App Transport Security(ATS) 安全功能。也就是说,所有的新提交 app 默认是不允许使用NSAllowsArbitraryLoads来绕过 ATS 限制的。我们最好保证 app 的所有网络请求都是 HTTPS 加密的,否则可能会在应用审核时遇到麻烦。

本SDK在2.6.0以上版本中对此做出支持,其中,SDK不会自行发出任何非HTTPS请求,同时,SDK支持https://前缀的Endpoint,只需要设置正确的HTTPS Endpoint,就能保证发出的网络请求都是符合要求的。

所以,用户需要注意:

  • 设置Endpoint时,需要使用https://前缀的URL。
  • 在实现加签、获取STSToken等回调时,需要确保自己不会发出 非HTTPS 的请求。

对于OSSTask的一些说明

所有调用api的操作,都会立即获得一个OSSTask,如:

  1. OSSTask * task = [client getObject:get];

可以为这个Task设置一个延续(continution),以实现异步回调,如:

  1. [task continueWithBlock: ^(OSSTask *task) {
  2. // do something
  3. ...
  4. return nil;
  5. }];

也可以等待这个Task完成,以实现同步等待,如:

  1. [task waitUntilFinished];
  2. ...
本文导读目录