RSToDoList
A simple To-do list app build for iPhone, iPad and Apple Watch in Swift 5 (iOS 11+, watchOS 6+)
Main features
- Persistent task lists using Realm
- iCloud Kit support for syncing
- Push notifications for reminders (Synced between devices)
- Add/delete/edit/complete tasks
- Set task Date & Time + custom reminders and comments (images too)
- Sort/Filter/Prioritise tasks
- iPad app
- Watch app
- Widget for Today tasks
- Theme support with custom App Icons
- Multi-Language support
- 3D Touch shortcuts
- Dark mode
- Onboarding/tutorial
Requirements
- iOS 11.0+
- Xcode 11.0+
- Swift 5.0+
How to run
- Clone the repo
- 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
.
Live demo
ToDoList - Task Manager by RanduSoft - AppStore
Roadmap
Features
- Lockdown with FaceID/TouchID or passcode (using BiometricAuthentication)
- Smart dates (transform "'task name' today at 10:00" into a task with a date/time of today @ 10:00)
- Rearrange tasks manually
- Catalyst support for macOS
Improvements/To Do
- iOS 14 Widget
- watchOS complications + sync improvements
- Reload notifications after user gave push permissions if initially declined
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.
RSToDoList is currently using:
- LKAlertController
- ActionSheetPicker-3.0
- IceCream
- UnderKeyboard
- ActiveLabel
- Realm & RealmSwift
- RSTextViewMaster
- Loaf
- Robin
- BulletinBoard
All icons used in RSToDoList are designed by Icons8.com and available here. Colors for themes and app icon are picked from FlatUIColors.com.
License
RSToDoList is available under the GNU license. See the LICENSE file for more info.