UI/UX Improvements: - Replace SLComposeServiceViewController with custom UIViewController - Add beautiful green-themed UI with Readeck branding and logo - Implement modern card-based layout with shadows and rounded corners - Add custom cancel button and proper navigation styling - Include loading states and comprehensive user feedback Backend Integration: - Add KeychainHelper integration for secure token/endpoint storage - Implement proper API integration with async/await - Add comprehensive error handling and status messages - Include DTOs for API communication Security & Configuration: - Add keychain access groups to entitlements for both main app and extension - Update TokenProvider to save tokens to keychain - Modify LogoutUseCase to clear keychain data - Update SaveServerSettingsUseCase to persist endpoint in keychain - Configure proper build settings and file sharing between targets Extension Lifecycle: - Implement proper URL extraction from various sources - Add automatic extension dismissal on success - Ensure proper extension context handling
ReadKeep iOS App
A native iOS client for readeck bookmark management.
The official repository is on Codeberg: https://codeberg.org/readeck/readeck
Features
- Browse and manage bookmarks (Unread, Favorites, Archive)
- Share Extension for adding URLs from Safari and other apps
- Swipe actions for quick bookmark management
- Native iOS design with Dark Mode support
Requirements
- iOS 17.0+
- Xcode 15.0+
- Swift 5.9+
Configuration
After installing the app:
- Open the readeck app
- Go to the Settings tab
- Enter your readeck server URL and credentials
- The app will automatically sync your bookmarks
Architecture
- SwiftUI for UI
- Core Data for local storage
- MVVM architecture pattern
- Repository pattern for data access
Share Extension
The app includes a Share Extension that allows adding bookmarks directly from Safari:
- Share any webpage in Safari
- Select "readeck" from the share sheet
- The bookmark is automatically added to your collection
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Planned Features
- Offline sync with Core Data
- Add support for tags
- Add support for bookmark filtering and sorting options
- Implement search functionality
- Add support for collection management
- Add support for multiple readeck servers
- Add offline sync capabilities
- Add support for custom themes
- Implement push notifications for new bookmarks
- Support for iPad multitasking
- Implement a dark mode toggle in settings
- Implement a tutorial for first-time users
Languages
Cython
99.7%
Swift
0.3%