xcode 7 和 cloudkit 的非常奇怪的问题

Posted

技术标签:

【中文标题】xcode 7 和 cloudkit 的非常奇怪的问题【英文标题】:Very weird issues with xcode 7 and cloudkit 【发布时间】:2015-09-19 12:04:11 【问题描述】:

我有一个使用 CloudKit 的应用程序。升级到 ios 9 后,它继续像以前一样工作,没有任何问题。然而,几天前,我从 Xcode 6 升级到了 7。Xcode 7 在视觉上破坏了一些东西......对齐,collectionview 单元格边缘插入改变了,等等......这确实很烦人,但这可能是我需要修复的一些自动布局问题反正。真正的问题超出了我以前见过的任何东西。突然之间,除非我连接到 wifi 和电源,否则我的 CK 数据将不会返回。起初我认为它必须连接到笔记本电脑并从 Xcode 运行到设备。我通过断开与笔记本电脑的连接并插入墙壁对其进行了测试,并返回了 CK 数据并渲染了 CV 单元。而且无论它是否连接到电源,如果我在蜂窝连接上,我只会得到微调器(数据加载),它就在那里。如果它是从 Xcode 运行的,我也看不到任何日志记录发生。但是,如果我在应用程序运行时切换到 wifi,那么我会看到返回的 CK 结果的日志记录,然后触发自定义单元格视图,最后在设备上呈现单元格。

为了清楚起见,我没有对发生的这种情况进行任何编码更改...只是升级到 Xcode 7(不是 GM 版本)。在源代码管理中进行比较时,我确实注意到 info.plist 的以下差异。

xcode 7: CFBundle标识符 $(PRODUCT_BUNDLE_IDENTIFIER)

xcode 6: CFBundle标识符 com.drivethruu.$PRODUCT_NAME:xxxxxxxxx

我将实际产品名称替换为“xxxx...”,以防我不应该公开展示此帖子。我确实使用了 xcode 6 值来查看这是否是问题并得到了完全相同的行为。没有让事情变得更糟,但也没有让事情变得更好。此外,我已将部署目标更改为 iOS 7.1 - 9.0 之间的所有内容,并且没有任何差异。

有人遇到过这种情况吗?关于如何解决这个问题的任何想法?

更新: 下载了 Xcode 6.4,丢弃了故事板和 info.plist 文件中的更改并重新编译并解决了所有问题,所以这肯定是 Xcode 7 的一些问题。仍在运行 iOS 9...将需要找出 Xcode 7 出现问题的原因,因为我需要在提交之前对应用程序 iOS 9 进行认证。可能需要向 Apple 开票。

谢谢!

【问题讨论】:

【参考方案1】:

Apple 更改了 qualityOfService 设置的行为以及获取数据的方式。在我看来,这是一个 CloudKit 错误。有关更多信息,请参阅: iOS 9 CloudKit: query does not return anything while connected to cellular network

也请在http://bugreport.apple.com 上提交错误报告

【讨论】:

谢谢埃德温!我会向 Apple 提交错误报告。

以上是关于xcode 7 和 cloudkit 的非常奇怪的问题的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit 查询的奇怪错误

为啥我不能从 Xcode 或 CloudKit Dashboard 查询 CloudKit?

Xcode 7 Asset Catalog 的图像设置了奇怪的状态图标

Xcode:CloudKit 中的 CKAsset

Xcode Swift 在 tableView 中显示来自 CloudKit 的数据

我更新到 Xcode 8 beta 6 并且出现了非常奇怪的错误