https://github.com/marck100/synckit
Synchronize your app with system events and calendars
https://github.com/marck100/synckit
calendars eventkit events ios swift synchronization
Last synced: 8 months ago
JSON representation
Synchronize your app with system events and calendars
- Host: GitHub
- URL: https://github.com/marck100/synckit
- Owner: Marck100
- Created: 2020-06-09T14:12:53.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-10T09:15:06.000Z (almost 6 years ago)
- Last Synced: 2025-02-05T12:13:43.539Z (over 1 year ago)
- Topics: calendars, eventkit, events, ios, swift, synchronization
- Language: Swift
- Homepage:
- Size: 18.6 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SyncKit
SyncKit allows you to synchronize system events and calendars with your database.
### How to implement this package
1. Conform your Event and Calendar class to `SKEvent` and `SKCalendar`
```swift
class Event: SKEvent {
var title: String
var eventIdentifier: String
var lastModifiedDate: Date?
...
func toEKEvent() -> EKEvent {
if let event = store.event(withIdentifier: eventIdentifier) {
event.title = title
...
return event
} else {
let event = EKEvent(eventStore: store)
...
return event
}
}
}
```
2. Request access to event( You must implement Privacy keys in your `info.plist` )
3. Compare events and calendars stored in your app with system ones.
```swift
let comparison = SKCenter.shared.compareCalendars(calendars: systemCalendars, storedCalendars: storedCalendars)
```
4. Update your app
```swift
db.save(comparison.calendarsToSave)
db.update(comparison.calendarsToUpdate)
db.remove(comparison.calendarsToDelete)
```