【问题标题】:Forcing user to enable iCloud强制用户启用 iCloud
【发布时间】:2013-01-27 09:14:44
【问题描述】:

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

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

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

Apple 会允许这样做吗?

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

【问题讨论】:

  • 我无法想象你能做到。如果我是未使用 iCloud 的用户,而您的应用程序试图强制我使用 iCloud,我会立即将其卸载。
  • 你想做的事情是可能的,它会像警报一样
  • 对于许多用户来说,这会破坏交易,他们不会使用您的应用。

标签: iphone ios ipad icloud


【解决方案1】:

为此,您必须检查设备中是否安装了 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 的权利和基础知识的必要工作,我认为这是您知道的。

【讨论】:

  • 听着是用户的手机……你不能强迫他做任何事情……你能做的就是在他实现 iCloud 之前不让他打开应用程序……
【解决方案2】:

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

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

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

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

【讨论】:

  • 感谢您对此的投入。我将在 Apple 开发者论坛上发布这个问题,只是为了检查 Apple 是否允许这样做。从用户的角度来看,我完全同意你的看法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多