gpt4 book ai didi

swift - 访问 EKCalendar

转载 作者:行者123 更新时间:2023-11-30 11:02:01 26 4
gpt4 key购买 nike

在我的应用程序中,我有一个开关,允许用户将某些事件放入他们的议程中。我这样处理:

@IBAction func putInAgenda(_ sender: UISwitch) {
let store = manager.store
if (sender.isOn){
store.requestAccess(to: EKEntityType.event, completion: {
(accessGranted: Bool, error: Error?) in
if accessGranted == true {
self.eventsHandler.importEventsInAgenda(id)
} else {
DispatchQueue.main.async {
sender.isOn = false
}
}
})
} else {
//
}

shared?.set(sender.isOn, forKey: "putInAgenda")
shared?.synchronize()
}

然而,出乎我意料的是,“store.requestAccess”不仅是请求,而且是SETS。

因此,当用户取消对话框时,开关会切换回来(符合预期),但任何将开关切换到 ON 位置的连续尝试都会被切换到 OFF 位置,而不会出现新的对话框。

我应该做什么?

最佳答案

隐私请求仅被询问一次。如果您检测到它当前被拒绝,您可以更新 UI 或提示用户转到“设置”并将其打开。您可以使用 UIApplication openSettingsURLStringUIApplication openURL 将用户带到“设置”应用中您的应用的设置页面。

关于swift - 访问 EKCalendar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53241222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com