Добрый день,
Я пытаюсь открыть календарь по умолчанию с помощью Swift.
Я могу написать в календарь, но я бы тоже хотел открыть его.
Я использую этот код, который я нашел:
if let url = URL(string: "calshow://") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Но ничего не появляется. Значение url всегда равно «nil»
Какой шаг я пропустил?
Ниже приведен весь код с
func addToCalendar (title: String, startDate: Timestamp, endDate : Timestamp, eventDescription : String?) {
let eventStore = EKEventStore()
let dateConverted = startDate.dateValue()
eventStore.requestAccess(to: .event) { (granted, error) in
if granted == true && error == nil {
let event = EKEvent(eventStore: eventStore)
event.title = title
event.startDate = dateConverted
event.endDate = dateConverted
if let description = eventDescription {
event.notes = description
}
// UIApplication.shared.open(url!, options: [:], completionHandler: nil)
event.calendar = eventStore.defaultCalendarForNewEvents
do {
try eventStore.save(event, span: .thisEvent)
DispatchQueue.main.async {
if let url = URL(string: "calshow://") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
// self.createSimpleAlertController(controllerTitle: "Confirmation", controllerMessage: "\(self.eventDetail!.name) a bien été rajouté dans votre calendrier", alertTitle: "Ok")
}
} catch {
DispatchQueue.main.async {
self.createSimpleAlertController(controllerTitle: "Error", controllerMessage: "Erreur. \(self.eventDetail!.name) n'a pas pu être rajouté dans votre calendrier", alertTitle: "Ok")
}
print(error.localizedDescription)
return
}
} else {
print(error?.localizedDescription)
}
}
}