2013-01-11 88 views
0

我使用此代碼初始化的iCloud訪問iOS版的iCloud初始化

- (void)initializeiCloudAccess { 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
     NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; 
     if (ubiq) 
      NSLog(@"iCloud is available.\n"); 
     else 
      NSLog(@"iCloud is not available.\n"); 
    }); 
} 

(在我從一個Apple tutorial得到了它),但我收到NSInvalidArgumentException與原因,當我試圖讓ubiqunrecognized selector sent to instance ...;

任何人都可以向我解釋這段代碼有什麼問題?

回答

0

檢查您的項目是否配置爲使用最新的iOS SDK(至少5.0使用iCloud),並且您的設備或模擬器的iOS 5或更高版本。如果您還需要定位iOS的早期版本,則在發送消息之前需要一個條件:

if (NSClassFromString(@"NSUbiquitousKeyValueStore")) { 
    // iCloud API available, safe to send URLForUbiquityContainerIdentifier message 
    ... 
} 
+0

您是說,如果我的iOS SDK版本<5.0,我不能使用iCloud? – flamingo

+1

@flamingo不,你不能。 iCloud首次出現在iOS 5.0中。參考:http://support.apple.com/kb/HT4759 –