Ich möchte meine EventKit
Berechtigung für den Kalender anfordern, wenn ein Ereignis versucht wird, dem Kalender mit Zugriff verweigert hinzugefügt werden. Es fragt nur das erste Mal, wenn die App verwendet wird, und wenn Sie den Zugriff in den Einstellungen verweigern, wird der Benutzer nicht aufgefordert, den Zugriff erneut zu gewähren. Bitte helfen Sie.EventKit Erlaubnis
Extra Credit: Ich möchte auch überprüfen, ob das Ereignis bereits im Kalender vorhanden ist, und wenn ja, bearbeiten Sie es. Jede Hilfe mit diesem würde auch geschätzt werden !!
Hier ist mein Code:
func addToCalendar(){
let eventStore = EKEventStore()
let startDate = NSDate()
let endDate = startDate.dateByAddingTimeInterval(60 * 60) // One hour
if (EKEventStore.authorizationStatusForEntityType(.Event) != EKAuthorizationStatus.Authorized) {
eventStore.requestAccessToEntityType(.Event, completion: {
granted, error in
self.createEvent(eventStore, title: "\(self.meal.text!)", startDate: startDate, endDate: endDate)
})
} else {
createEvent(eventStore, title: "\(self.meal.text!)", startDate: startDate, endDate: endDate)
}
}
func createEvent(eventStore: EKEventStore, title: String, startDate: NSDate, endDate: NSDate) {
let event = EKEvent(eventStore: eventStore)
event.title = title
event.startDate = startDate
event.endDate = endDate
event.calendar = eventStore.defaultCalendarForNewEvents
event.notes = "\(self.Recipe.text!) - See Meal Planning on Listacular"
do {
try eventStore.saveEvent(event, span: .ThisEvent)
savedEventId = event.eventIdentifier
} catch {
print("Denied")
}
}
Danke, ich bin nicht großartig darin, ObjC zu übersetzen. Ich konnte es herausfinden, bin mir aber nicht sicher, wie ich mit eventWithIdentifier ein Ereignis überprüfen und bearbeiten kann. –
Die eventWithIdentifier-Methode gibt das Ereignis zurück, wenn ein Ereignis mit der angegebenen Kennung im Speicher vorhanden ist, andernfalls wird nil zurückgegeben. –
anscheinend habe ich das falsch gemacht. Wenn er gespeichert wird, sollte er 'savedEventId = event.eventIdentifier' überprüfen oder speichert das nur den Identifikator und liest ihn nicht? –