Ship full-featured mobile clients with auth, payments, QRs, push notifications, and iOS polish including Figtree typography, app icons, and QR previews. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Ladill Mini — iOS
|
||||
|
||||
Native SwiftUI app matching the Android Ladill Mini design and API.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Xcode 15+ (iOS 17 deployment target)
|
||||
- [XcodeGen](https://github.com/yonaskolb/XcodeGen) (`brew install xcodegen`)
|
||||
|
||||
## Setup
|
||||
|
||||
```bash
|
||||
cd apps/ios
|
||||
xcodegen generate
|
||||
open LadillMini.xcodeproj
|
||||
```
|
||||
|
||||
Select the **LadillMini** scheme and run on a simulator or device.
|
||||
|
||||
## API
|
||||
|
||||
The app talks to `https://mini.ladill.com/api/v1/` (configured in `LadillMini/Resources/Config/*.xcconfig`).
|
||||
|
||||
Auth uses bearer tokens stored in the Keychain. Device name is sent as `Ladill Mini iOS`.
|
||||
|
||||
## Features
|
||||
|
||||
- Landing, login, and multi-step registration
|
||||
- Home tabs: Overview, Payment QRs, Payments, Payouts
|
||||
- Afia AI assistant sheet
|
||||
- Notifications inbox with unread badge
|
||||
- Account menu: Profile, Settings, Security, Wallet, Billing, Support
|
||||
- Optional 4-digit app PIN lock on background
|
||||
|
||||
## Push notifications (Firebase Cloud Messaging)
|
||||
|
||||
1. **`GoogleService-Info.plist`** — already at `LadillMini/Resources/GoogleService-Info.plist` (bundle ID `com.ladill.mini`, project `laddile-30129`).
|
||||
2. **Xcode capability** — enable **Push Notifications** on the LadillMini target (Signing & Capabilities). The entitlements file sets `aps-environment` to `development` for debug builds.
|
||||
3. **Firebase Console** — upload your **APNs authentication key** under Project Settings → Cloud Messaging so FCM can deliver to iOS devices.
|
||||
4. **Physical device** — push does not work on the simulator; install on a real iPhone, sign in, and accept the notification permission prompt.
|
||||
|
||||
On login the app registers the FCM token via `POST /api/v1/mini/push-token` with `platform: ios`. On logout it calls `DELETE /api/v1/mini/push-token`. Tapping a notification opens the in-app notifications inbox.
|
||||
|
||||
## App Store
|
||||
|
||||
1. Set your **Development Team** in Xcode signing settings.
|
||||
2. Add a 1024×1024 app icon to `Assets.xcassets/AppIcon`.
|
||||
3. Archive via **Product → Archive**.
|
||||
Reference in New Issue
Block a user