Apple Docsの文は次のとおりです。 "iCloudが設定されていない場合、設定するかどうかをユーザに尋ねます。 iCloud)iCloudがプログラムで設定されているかどうかを確認する方法
iCloudが設定されているかどうか、iCloudの設定を起動する方法を確認するにはどうすればよいですか?
Apple Docsの文は次のとおりです。 "iCloudが設定されていない場合、設定するかどうかをユーザに尋ねます。 iCloud)iCloudがプログラムで設定されているかどうかを確認する方法
iCloudが設定されているかどうか、iCloudの設定を起動する方法を確認するにはどうすればよいですか?
編集:
あなたはiOS6か、[[NSFileManager defaultManager] ubiquityIdentityToken];
を使用することができ、上記をターゲットにしている場合。使用例については、@Dj S' answer :)を参照してください。
それはより速く、より簡単にiOS App programming guide - iCloud Storageに記載したようiOS5ををターゲットに、人と
上記オリジナル回答
は、限り、あなたは法下の有効なユビキタスコンテナ識別子を供給するようしかし、URLForUbiquityContainerIdentifier:
ことを私が見つけたYES
- (BOOL) isICloudAvailable
{
// Make sure a correct Ubiquity Container Identifier is passed
NSURL *ubiquityURL = [[NSFileManager defaultManager]
URLForUbiquityContainerIdentifier:@"ABCDEFGHI0.com.acme.MyApp"];
return ubiquityURL ? YES : NO;
}
を返す必要がありますセッション内ではじめて数秒かかるかもしれません(私はiOS5でこれを使っていましたので、今は状況が異なるかもしれません)。例えば 、ただ、上記の解答を補足するために
dispatch_queue_t backgroundQueue =
dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(backgroundQueue,^{
BOOL isAvailable = [self isICloudAvailable]
/* change to the main queue if you want to do something with the UI. For example: */
dispatch_async(dispatch_get_main_queue(),^{
if (!isAvailable){
/* inform the user */
UIAlertView *alert = [[UIAlertView alloc] init...]
[alert show];
[alert release];
}
});
});
あなただけのiCloudは、あなたのアプリケーションのために利用可能であるかどうかを知りたい場合は、 :私はこのようなものを使用して覚えています
1.何のiCloudアカウントが設定されていない、または
2.資料・データは、(すべてのアプリケーションのために)無効になっている、または
3.資料・データのみを
が、その後あなたがNSFileManager's ubiquityIdentityToken
を使用することができ、あなたのアプリのために無効になっていますiOS 6以上。
値がnilの場合、iCloudアカウントは設定されていません。それ以外の場合は、iCloudアカウントが設定されます。 Apple docsによると、あなたはメインスレッドからそれを呼び出すことができます
id token = [[NSFileManager defaultManager] ubiquityIdentityToken];
if (token == nil)
{
// iCloud is not available for this app
}
else
{
// iCloud is available
}
注意。
このメソッドは比較的早く戻りますので、起動時に呼び出すことができ、アプリケーションのメインスレッドから呼び出すことができます。
優れた解決策です。 – NSSplendid
残念ながらApple docへのリンクは機能しません。 URLForUbiquityContainerIdentifierを検索することができます:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html – Oscar
アップルは絶えず場所を変更し、リンクが更新されます。 :) – nacho4d