在ios 7设备上调试应用程序时,尽管适用于ios 8设备,我仍会收到以下中断:
(lldb) bt
* thread #1: tid = 0xbb78, 0x002094e2 libswiftCore.dylib`swift_getObjCClassMetadata + 10, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)
突出显示突出显示的代码部分如下:
class CloudKitHelper {
var container : CKContainer
var publicDB : CKDatabase
let privateDB : CKDatabase
var delegate : CloudKitDelegate?
var todos = [Todos]()
class func sharedInstance() -> CloudKitHelper {
return cloudKitHelper
}
init() {
container = CKContainer.defaultContainer() // here the break is shown
publicDB = container.publicCloudDatabase
privateDB = container.privateCloudDatabase
}
为ios 7和8声明defaultcontainer有什么区别吗?
答案 0 :(得分:2)
CloudKit需要iOS 8.以下是iOS 8中可用的新API的高级列表:https://developer.apple.com/ios8/
如果某项功能需要的iOS版本高于您想要定位的版本,则可以将该功能设为可选功能。这将需要额外的代码来在运行之前检查可用的功能。