Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios EKEventEditViewController在长时间后冻结应用程序并加载_Ios_Swift_Ekevent_Ekeventstore_Ekeventkit - Fatal编程技术网

Ios EKEventEditViewController在长时间后冻结应用程序并加载

Ios EKEventEditViewController在长时间后冻结应用程序并加载,ios,swift,ekevent,ekeventstore,ekeventkit,Ios,Swift,Ekevent,Ekeventstore,Ekeventkit,我在swift中有以下代码: var eventController = EKEventEditViewController() eventController.editViewDelegate = self var store = EKEventStore() eventController.eventStore = store var event = EKEvent(eventStore: store) event.title = viewM

我在swift中有以下代码:

    var eventController = EKEventEditViewController()
    eventController.editViewDelegate = self
    var store = EKEventStore()
    eventController.eventStore = store

    var event = EKEvent(eventStore: store)
    event.title = viewModel.roleName
    event.location = viewModel.location
    event.startDate = viewModel.startDate
    event.endDate = viewModel.endDate
    eventController.event = event

    var status = EKEventStore.authorizationStatusForEntityType(EKEntityTypeEvent)
    switch status {
    case .Authorized:
        self.setNavBarAppearanceStandard()            
        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            self.presentViewController(eventController, animated: true, completion: nil)
        })
    case .NotDetermined:
        store.requestAccessToEntityType(EKEntityTypeEvent, completion: { (granted, error) -> Void in
            if granted == true {
                self.setNavBarAppearanceStandard()
                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    self.presentViewController(eventController, animated: true, completion: nil)
                })
            }
        })
    case .Denied, .Restricted:
        UIAlertView(title: "Access Denied", message: "Permission is needed to access the calendar. Go to Settings > Privacy > Calendars to allow access for the Be Collective app.", delegate: nil, cancelButtonTitle: "OK").show()
        return
    }
这很直截了当。它在模拟器上运行良好。但当您尝试在设备上运行代码时,整个UI会冻结,有时在大约1分钟后,编辑事件视图控制器会出现,有时根本不会出现


请提供帮助。

经过一番挖掘,我已经找到了manager,以确定eventStore(EKEventStore)变量必须是singleton类中的实例变量或全局变量。如果它是一个本地变量,那么将永远无法显示视图控制器。这可能是SDK的一些优化问题。

设备是运行ios 8.3的iphone 6+