最近我遇到了一个奇怪的问题,如果有人遇到过同样的问题,我会很感兴趣。我正在开发一个支持 iCloud 的应用程序,它使用
- (void)openWithCompletionHandler:(void (^)(BOOL 成功))completionHandler
对于存储在 iCloud 中的某些文件。
我正在使用 XCode 4.5.2 (4G2008a) 并且我有几台设备,每台都运行 iOS 6.0.1:一部 iPhone 3GS、4GS、5、几部 iPad 和 2 部 iPod Touch,第 4 代和第 5 代。此外,我正在使用一些也处理 iCloud 数据的 MAC - 但是,它们使用不同的方案来访问文件。
现在的问题:除了在 iPhone 5 上,该应用程序在所有其他设备上都可以完美运行 - 调用完成处理程序并且正确加载和打开文档,无论其他什么设备同时运行该应用程序。
然而,在 iPhone 5 上,完成块和 loadFromContents:: 都不会被调用,并且应用程序只是挂起,因为如果 iCloud 将它报告为存在的普遍存在的项目,它取决于此文件。
由于相同的应用程序在所有其他设备上运行,我认为不应该有任何编码或逻辑错误,但 iPhone 5 iOS 实现中存在一些差异。有没有人有类似的经历,或者有解决方法的想法?