Iphone iOS-如何知道iCloud照片传输功能是否已启用
新的iCloud服务有许多可能的配置。我如何知道我用户的设备是否配置为将拍摄的照片发送到iCloud服务器,而不是仅存储在设备上?如果您想知道iCloud是否已激活,只需拨打:Iphone iOS-如何知道iCloud照片传输功能是否已启用,iphone,image,settings,ios5,icloud,Iphone,Image,Settings,Ios5,Icloud,新的iCloud服务有许多可能的配置。我如何知道我用户的设备是否配置为将拍摄的照片发送到iCloud服务器,而不是仅存储在设备上?如果您想知道iCloud是否已激活,只需拨打: NSFileManager *fileManager = [NSFileManager defaultManager]; NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:nil]; if (cloudURL != nil)
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:nil];
if (cloudURL != nil) {
// iCloud is available
}
这可以给你一个提示,如果iCloud是可用的。如果你想用iCloud存储图片,你可以自己制作。我真的不确定你打算做什么。只要你在下面给出一个有效的通用容器标识符,方法应该返回
是:
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];
}
});
});
你说的是照片流还是iCloud备份?@MichaelDautermann:我说的是照片流,但阅读你的评论,我指的是任何可能以可读方式将iPhone照片发送到iCloud的方法,所以我想备份就在这个范围内。我只想显示一个通知,说明我的应用程序拍摄的照片是否将存储在iCloud上。