我们正在开发一个应用程序,我们需要在 iCloud 中存储一些信息,并且应该在设备之间同步。
为此,我们应该强制用户为应用启用 iCloud。我们可以做类似的事情,
启动应用程序后,只需检查应用程序是否启用了 iCloud,如果没有提醒用户启用 iCloud 并重试?如果不启用 iCloud,我们不允许用户进入应用程序。
苹果会允许这样做吗?
我认为我们不能强迫用户启用 iCloud,这取决于他们是否启用它。我的理解正确吗?
是的,你的理解是正确的。您不能强制用户在其设备上启用 iCloud。这是一件好事。
你需要重新考虑这一点。只有一台设备的用户呢?强迫这些用户在你的应用中使用 iCloud 是没有意义的。没有其他设备可以同步。
最后,您可以检查 iCloud 是否可用。如果没有,您可以告诉用户您的应用确实需要它(出于某种未知原因)并阻止他们继续。
这里没有人可以肯定地说苹果是否会允许这样做。我知道,作为用户,我不会对仅在启用 iCloud 时才有效的应用程序感到满意。它应该是用户的选择。
为此,您必须检查设备中是否安装了 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 的权利和基础知识的必要性,我认为这是您知道的。