A native iOS app for reading crypto and blockchain content from EtherWorld.
- Name: EtherWorld
- Bundle ID: co.etherworld.app
- Version: 1.0 (Build 1)
- Platform: iOS 16.0+, iPadOS 16.0+
- ✅ Apple Sign In
- ✅ Google Sign In
- ✅ OTP via Email (6-digit verification code)
- ✅ Firebase Authentication
- ✅ Skip Login (Dev Mode - Remove before production)
- ✅ Browse articles from Ghost CMS
- ✅ Search with language filtering
- ✅ Bookmark/Save articles for offline reading
- ✅ Mark articles as read
- ✅ Offline mode with local caching
- ✅ Background refresh
- ✅ Push notifications
- ✅ Multi-language support (EN, ES, FR, DE, etc.)
- ✅ Dark/Light/System theme
- ✅ iPad optimized with sidebar
- ✅ Author profiles
- ✅ Share articles
- ✅ Privacy Policy view
- ✅ Data export capability
- ✅ Session management
- ✅ Analytics (opt-in)
- ✅ Account deletion
- ✅ Supabase integration for preferences sync
Config.xcconfig- API keys and configurationGoogleService-Info.plist- Firebase configurationIOS-App-Info.plist- App configuration and permissions
- Ghost CMS API Key
- Ghost Base URL
- Supabase URL
- Supabase Anon Key
- Firebase (configured via GoogleService-Info.plist)
The app requests the following permissions:
- NSUserTrackingUsageDescription: Anonymous analytics (opt-in)
- NSCameraUsageDescription: Photo upload capability
- NSPhotoLibraryUsageDescription: Image sharing
- NSFaceIDUsageDescription: Biometric authentication
- Background fetch: Article updates
- Bundle ID configured:
co.etherworld.app - Version numbers set: 1.0 (Build 1)
- App icon configured (1024x1024)
- Launch screen with logo
- Privacy descriptions added
- App Transport Security configured
- Firebase Bundle ID updated
- Remove dev skip login button before production
- Test on physical device
- Test Apple Sign In
- Test Google Sign In
- Test Magic Link authentication
- Test offline mode (airplane mode)
- Test bookmarking and read status
- Test background refresh
- Test on iPad
- Test theme switching
- Test language switching
- Test push notifications
- Create app listing
- Upload screenshots (6.7" iPhone, 12.9" iPad Pro)
- Add app description
- Add keywords
- Set support URL: https://etherworld.co
- Set privacy policy URL: https://etherworld.co/privacy
- Configure in-app purchases (if any)
- Submit for review
- Login screen with logo
- Home feed with articles
- Article detail view
- Search results
- Saved articles
- Settings screen
- iPad sidebar view
- ArticleService: Protocol for fetching articles
- GhostArticleService: Implementation for Ghost CMS
- MockArticleService: For testing/previews
- AuthenticationManager: Handles all auth flows
- AnalyticsManager: Firebase Analytics
- NotificationManager: Push notifications
- OfflineManager: Local caching and offline support
- BackgroundRefreshManager: Background updates
- SpotlightIndexer: iOS Spotlight integration
- LoginView: Authentication screen
- HomeFeedView: Main article feed
- ArticleDetailView: Full article view
- DiscoverView: Search and explore
- SavedArticlesView: Bookmarked articles
- SettingsView: App settings
- ProfileSettingsView: User profile
- AuthorProfileView: Author details
- Article: Main content model
- Author: Writer information
- User: Account data
- Content delivery
- Article management
- Tag/category filtering
- Multi-language support
- Email logging (
emailstable) - User preferences sync (
user_preferencestable) - Backup/restore data
- Authentication (Apple, Google, Email)
- Analytics
- Cloud Messaging (push notifications)
- Crashlytics (optional)
- Open
IOS_App.xcodeprojin Xcode - Select your development team
- Ensure all config files are present
- Build and run on simulator or device
- Select "Any iOS Device" as destination
- Product → Archive
- Validate the archive
- Distribute to App Store Connect
- Submit for review
- Keep the dev skip login button until ready for production
- Test all auth flows on physical device before submission
- Verify Firebase and Supabase are properly configured
- Check that all API keys are valid and not expired
- Ensure offline mode works correctly
- Test on both iPhone and iPad
- Website: https://etherworld.co
- Twitter: https://twitter.com/AayushS20298601
- Privacy Policy: https://etherworld.co/privacy
Proprietary - All rights reserved