url(forUbiquityContainerIdentifier) 返回 nil

问题描述 投票:0回答:4

我正在尝试获取我的容器 ID 的 url,但该方法不断返回

nil

我已完成以下操作:

  • 在 Xcode 功能中启用 iCloud 键值存储。
  • 在物理设备上测试。
  • iCloud 和 iCloud Drive 在物理设备中已打开。
  • 确保将
    iCloud Key-Value Store
    添加到权利文件中。

我的代码是:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    //Override point for customization after application launch.

    let cloudURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)
    print(cloudURL as Any)

    return false
}

我已经查找了几乎所有与此问题相关的问题并尝试了答案,但它不起作用。

ios objective-c swift swift3 icloud
4个回答
5
投票

对于 Xcode 9.2,检查此选项有效:


1
投票

试试这个:

在“设置”应用程序内的“iCloud”菜单下。我注意到“文档和数据”已设置为关闭。 解决方案是将

('文档和数据' 更改为 '打开'。


1
投票

我遇到了同样的问题,通过以下步骤修复: 1.进入物理设备的设置 -> iCloud。关闭 iCloud Drive 并再次打开,在 iCloud Drive 中找到您的应用程序,关闭然后打开。 2.关闭您的设备,然后重新启动。

然后就成功了,我不确定是哪个部分使它起作用,希望得到帮助。


0
投票
https://developer.apple.com/account/resources/identifiers/list

选择您的应用程序标识符,进入 iCloud,将其关闭然后再次打开,或者只是将选择从 xcode6 更改为 xcode 5 并返回。再次向上并点击“保存”。它会重新生成您的配置文件。返回 Xcode,关闭并打开自动签名复选框,构建并运行。

© www.soinside.com 2019 - 2024. All rights reserved.