1

Apple の iCloud デザイン ガイドのセクション「iCloud を使用するためのアプリの準備」に従って、iOS-5.1 アプリケーションに iCloud サポートを追加しようとしています。それは言います:

アプリの起動プロセスの早い段階で、application:didFinishLaunchingWithOptions: メソッド (iOS) または applicationDidFinishLaunching: メソッド (OS X) で、次のように NSFileManager メソッド ubiquityIdentityToken を呼び出して、iCloud の可用性を確認します。

id currentiCloudToken = [[NSFileManager defaultManager] ubiquityIdentityToken];

問題は、この方法 ( ubiquityIdentityToken) が OS X v10.8 以降で使用可能で、10.7.4 しかインストールされていないことです。

10.7 で開発を行う場合、回避策やその他の解決策はありますか? また、このメソッドの可用性が iOS バージョンではなく OSX バージョンに関連付けられているのはなぜですか?

4

2 に答える 2

5

アンドレアの答えはあなたの最初の質問をカバーしています。

なぜそうなのかについての2番目の質問について:iOS NSFileManagerクラスのドキュメントによると、はiOS 6.0ubiquityIdentityToken以降でのみ利用可能です。NSFileManageriOS の代わりにOS X の記事を読んでいるかもしれないので、代わりに OS X の要件を見ました。

于 2012-11-28T23:51:41.207 に答える
1

OS X リリース ノートから:

Mac OS 10.7 では、ユーザーがデータとドキュメントを有効にして iCloud にログインしているかどうかを確認する唯一の方法は、-[NSFileManager URLForUbiquityContainerIdentifier:]を呼び出して非 nil URL を確認することです。ただし、このメソッドはかなりの時間ブロックされる場合があり、メイン スレッドからの呼び出しには適していません。

于 2012-10-16T09:15:04.210 に答える