A simple ToDoList written in Swift
RSToDoList
A simple To-do list app build for iOS 11+ in Swift 5.
Main features
- [x] Basic 'to do list' features
- [x] Persistent lists using Realm
- [x] Add/delete tasks
- [x] Edit task properties
- [x] Complete tasks
- [x] Date/Time for task
- [x] Sort options
- [x] Task filters
- [x] Set task priority
- [x] iCloud Kit support for syncing
- [x] Push notifications for reminders
- [x] Synced push notifications between devices
- [x] Watch app
- [x] Task comments (text and images)
- [x] Widget for Today tasks
- [x] Theme support with custom App Icons
- [x] Multi-Language support
- [x] 3D Touch shortcuts
- [x] Dark mode
Requirements
- iOS 11.0+
- Xcode 11.0+
- Swift 5.0+
How to run
- Clone the repo
- Run
pod install
in terminal to install required pods. Make sure you have CocoaPods installed. - Turn on iCloud option in
Signing & Capabilities
and checkCloudKit
. Turn onBackground Modes
and checkBackground fetch
+Remote notification
. - Make sure to update your app group config (
Signing & Capabilities
,App Groups
) and id string inRealmManager.swift
. - (Optional) You might want to update or remove Fabric script located
Build Phases
.
Live demo
- AppStore
- TestFlight - Use this invitation link to test the latest build.
Roadmap
- [ ] Tutorial/Onboarding
- [ ] Lockdown with FaceID/TouchID or passcode (BiometricAuthentication)
- [ ] Smart dates (transform "'task name' today at 10:00" into a task with a date/time of today @ 10:00)
- [ ] Rearrange tasks manually
- [ ] iPad app
- [ ] Marzipan support for macOS
Improvements/To Do
- [ ] watchOS complications + sync improvements
- [ ] Reload notifications after user gave push permissions
- [ ] Better sync events and responses
- [ ] Themes view controller with previews
Bugs
- [x] Changing a theme won't change settings nav controller until close/reopen screen
- [x] App will crash if no internet connection is available (fixed in #955cc7d)
- [x] Comments and Reminders are not showing up while adding a task (fixed in #955cc7d)
- [ ] Found something? Let me know
Communication
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
Acknowledgements & Frameworks used
An extensive list of acknowledgements for each external framework used for RSToDoList is also available in app by accessing the settings screen.