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