我们正在开发一个应用程序,我们需要在iCloud中存储一些信息,并且应该在设备之间进行同步。
为此,我们应该强制用户为应用启用iCloud。我们可以做点什么,
启动应用程序后,只需检查是否为应用程序启用了iCloud,如果没有提醒用户启用iCloud并再试一次?如果不启用iCloud,我们不允许用户访问该应用程序。
Apple会允许这样做吗?
我认为我们无法强制用户启用iCloud,而是由他们启用或不启用。我的理解是否正确?
答案 0 :(得分:2)
是的,您的理解是正确的。您无法强制用户在其设备上启用iCloud。这是一件好事。
你需要重新考虑这一点。那些只有一台设备的用户呢?没有必要强迫此类用户在您的应用中使用iCloud。没有其他设备可以同步。
最后,您可以查看iCloud是否可用。如果没有,您可以告诉用户您的应用确实需要它(出于某种未知原因)并阻止它们继续使用。
这里没有人可以肯定地说Apple是否会允许这样做。我知道作为一个用户,我不满意只有在启用iCloud时才有效的应用程序。它应该是用户的选择。
答案 1 :(得分:0)
为此,您必须检查设备中是否安装了iCloud。所以在
中使用此代码- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:nil];
NSLog(@"%@", [iCloudURL absoluteString]);
if(iCloudURL){
NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore];
[iCloudStore setString:@"Success" forKey:@"iCloudStatus"];
[iCloudStore synchronize]; // For Synchronizing with iCloud Server
NSLog(@"iCloud status : %@", [iCloudStore stringForKey:@"iCloudStatus"]);
}
}
这将检查iCloud状态。在这里你可以检查真假案例,如果它是假的,你可以退出应用程序,并提醒用户在设置中启用iCloud时再试一次。
希望这有帮助!! :)
PS: - 当然,为了实现上述代码,您首先必须完成实现您认为我认为的iCloud权利和基础知识的必要性。