Deploy Ladill Mini / deploy (push) Successful in 35s
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>
49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# 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**.
|