2013-01-11 86 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 –