iOS 9:与iCloud设置的深层链接

时间:2015-12-31 20:23:53

标签: ios icloud deep-linking

这是我的问题:我正在开发一个使用CloudKit的应用程序。我需要提供用户未在设备上登录iCloud的场景。我想将它们发送到iCloud设置,并提醒他们需要为我的应用程序打开iCloud数据。我正在使用NSFileManager.defaultManager().ubiquityIdentityToken来决定是否需要打开用户的iCloud设置。 问题是,我无法弄清楚如何。设备的iCloud设置的URL是什么?我做了很多研究,知道我不想UIApplicationOpenSettingsURLString。这打开了应用程序的设置,而不是设备。使用iOS 9的新安全功能并不容易,我认为我已经正确设置了这些功能:

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以启动“设置应用”的iCloud部分。我已在 iOS 9.3和10.2 上对此进行了测试。

步骤如下:

  1. 从“项目设置/信息/ URL类型”中为您的应用添加新的URL方案。
  2. enter image description here

    1. 现在,您可以使用此代码打开Settings / iCloud应用程序。

      let iCloudURL = URL(string: "App-prefs:root=CASTLE")
      if let settingsURL = iCloudURL {
           UIApplication.shared.openURL(settingsURL)
      }
      
    2. iOS 10的注意事项。*:openURL方法实际上已弃用,您应该使用open with completion handler方法:

      open(_ url: URL, 
           options: [String : Any] = [:], 
           completionHandler completion: ((Bool) -> Void)? = nil)
      

      参考