在使用CKFetchRecordChangesOperation获取记录时,在iOS 9设备(或macOS 10.11)上使用Swift 3访问CloudAs的同步资产时,使用Swift 3崩溃时出现错误URL._unconditionallyBridgeFromObjectiveC(NSURL?) -> URL ().
。
我已检查CloudKit Dashboard上的记录,并且已正确设置资产值。 在iOS 10或macOS 10.12上,它按预期工作。
iOS 10和iOS 9在CKAsset对象上的区别在于,在iOS 10上,我的资产的路径值path=~/Library/Caches/CloudKit/.../Assets/...
在iOS 9对象中缺失。
更新:在CKAsset上使用Obj-C类别从fileURL获取图像可以修复崩溃,但不是问题,fileURL仍然是零,无法使同步工作。
更新2:Apple工程师向我确认这是一个iOS 9 SDK错误,并且具有fileURL值的解决方法是再次单独获取每条记录,而不使用操作。