フレームワークを直接導入する
OSS iOS SDK フレームワークを入手する方法の詳細については、ここをクリックしてください。
Xcodeで、OSS iOS SDK フレームワークをドラッグしてターゲットにドロップし、ダイアログボックスから必要に応じてアイテムをコピーするを選択します。
ポッド依存性
プロジェクトが Pod を使用して依存関係を管理している場合は、Podfile に次の依存関係を追加します。この場合、OSS iOS SDK フレームワークをインポートする必要はありません。
pod 'AliyunOSSiOS'
Cocoapods は優れた依存マネージャです。推奨される参考資料:CocoaPods のインストールと使用のチュートリアル。
OSS iOS SDK フレームワークまたは Pod 依存関係を直接導入することができます。オプションのいずれかを優先することができます。
ヘッダファイルをプロジェクトに導入する
#import <AliyunOSSiOS / OSSService.h>
注意:OSS iOS SDKフレームワークを導入した後、プロジェクトの Build Settings
のOther Linker Flags
に -ObjC
を追加してください。プロジェクトに -force_load
オプションが設定されている場合は、-force_load <framework path> / AliyunOSSiOS
を追加してください。
IPv6 専用ネットワークと互換性があります
OSS モバイル SDK は、ドメインネーム解決のための HTTPDNS を導入し、ワイヤレスネットワークにおけるドメイン解決ハイジャックの問題を解決し、サーバへのリクエストに IP アドレスを直接使用しています。 IPv6 専用ネットワークでは、互換性の問題が発生することがあります。アプリは正式にアプリの審査要件を公表し、アプリは IPv6 専用ネットワークに対応している必要があります。このため、SDK は V2.5.0 から互換性があります。新しいバージョンでは、-ObjC の設定とは別に、2 つのシステムライブラリを導入する必要があります。
libresolv.tbd
CoreTelephony.framework
SystemConfiguration.framework
Apple の ATS ポリシー
WWDC 2016 で、Apple は 2017 年 1 月 1 日から、Apple App Store のすべてのアプリケーションが App Transport Security(ATS)を有効にする必要があると発表しました。つまり、新しく送信されたアプリは、デフォルトでは NSAlowsArbitraryLoads を使用して ATS 制限をバイパスすることはできません。アプリのすべてのネットワークリクエストが HTTPS で暗号化されていることが確認されます。それ以外の場合、アプリはレビューに合格しないことがあります。
この SDK は V2.6.0 以降でこのサポートを提供します。具体的には、SDK は HTTPS 以外の要求を発行しません。同時に、SDK は https://
接頭辞を持つ endpoint
をサポートしています。正しい HTTPS エンドポイントを設定して、すべてのネットワーク要求が要件を満たしていることを確認する必要があります。
したがって、次の点を考慮する必要があります。
endpoint
を設定するための接頭辞https://
を持つ URL を使用してください。署名と STSToken コールバックの取得時に、アプリケーションが非 HTTPS リクエストを開始しないようにしてください。
OSSTask の説明
API を呼び出すすべての操作に対して、すぐに OSSTask を取得する必要があります。
OSSTask * task = [client getObject:get];
非同期コールバックを実現するために、タスクの継続を構成できます。例えば:
[task continueWithBlock: ^(OSSTask *task) {
// do something
...
return nil;
}];
タスクが完了するまで待つことができます(同期待機)。例えば:
[task waitUntilFinished];
...