在CKContainer.defaultContainer()中为ios 7设备打破

时间:2014-10-15 14:29:37

标签: ios cloudkit

在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有什么区别吗?

1 个答案:

答案 0 :(得分:2)

CloudKit需要iOS 8.以下是iOS 8中可用的新API的高级列表:https://developer.apple.com/ios8/

如果某项功能需要的iOS版本高于您想要定位的版本,则可以将该功能设为可选功能。这将需要额外的代码来在运行之前检查可用的功能。