2011-11-05 4 views
6

新しいiCloudサービスには、さまざまな設定が可能です。ユーザーのデバイスが、デバイスに保存されているのではなく、写真をiCloudサーバーに送信するように設定されているかどうかを確認するにはどうすればよいですか?iOS - iCloudの写真転送機能が有効になっているかどうかを確認する方法

+0

iCloudのバックアップについて話していますか? –

+0

@MichaelDautermann:私は写真のストリームについて話していますが、あなたのコメントを読んで、私はiPhoneの写真をiCloudに読み込み可能な形で送るかもしれないということを言っているので、バックアップがその範囲にあると思います。 – Oliver

答えて

1

あなたはiCloudのがアクティブになっているかどうかを知りたい場合は、単純に呼び出すことができます:iCloudには全く利用可能な場合

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:nil]; 
if (cloudURL != nil) { 
    // iCloud is available 
} 

これはあなたにヒントを与えることができます。 iCloudを使用して写真を保存する場合は、独自のものを作成できます。私は本当にあなたが何をしようとしているのか分からない。

+0

私のアプリで撮影した写真をiCloudに保存する場合は、通知を表示したいだけです。 – Oliver

1

は、限り、あなたは法下の有効なユビキタスコンテナ識別子を与えるようYESを返す必要があります:

static NSString *UbiquityContainerIdentifier = @"ABCDEFGHI0.com.acme.MyApp"; 

- (BOOL) iCloudIsAvailable 
{ 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSURL *ubiquityURL = [fileManager URLForUbiquityContainerIdentifier:UbiquityContainerIdentifier]; 
    return (ubiquityURL) ? YES : NO; 
} 

しかし、URLForUbiquityContainerIdentifier:を呼び出すと、セッション内の非常に最初の時間を(数秒)の時間がかかる場合がありますことを、私を見つけました。したがって、UIを一時的にブロックしないようにバックグラウンドでこれを呼び出すようにしてください。

dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 
dispatch_async(backgroundQueue,^{ 
    BOOL isAvailable = [self iCloudIsAvailable] 
    /* 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]; 
     } 
    }); 
}); 
関連する問題