2

我们正在开发一个应用程序,我们需要在 iCloud 中存储一些信息,并且应该在设备之间同步。

为此,我们应该强制用户为应用启用 iCloud。我们可以做类似的事情,

启动应用程序后,只需检查应用程序是否启用了 iCloud,如果没有提醒用户启用 iCloud 并重试?如果不启用 iCloud,我们不允许用户进入应用程序。

苹果会允许这样做吗?

我认为我们不能强迫用户启用 iCloud,这取决于他们是否启用它。我的理解正确吗?

4

2 回答 2

2

是的,你的理解是正确的。您不能强制用户在其设备上启用 iCloud。这是一件好事。

你需要重新考虑这一点。只有一台设备的用户呢?强迫这些用户在你的应用中使用 iCloud 是没有意义的。没有其他设备可以同步。

最后,您可以检查 iCloud 是否可用。如果没有,您可以告诉用户您的应用确实需要它(出于某种未知原因)并阻止他们继续。

这里没有人可以肯定地说苹果是否会允许这样做。我知道,作为用户,我不会对仅在启用 iCloud 时才有效的应用程序感到满意。它应该是用户的选择。

于 2013-02-12T06:01:10.093 回答
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 的权利和基础知识的必要性,我认为这是您知道的。

于 2013-02-12T05:54:36.477 回答