尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The disposable camera for your closest friends. Shoot now, develop later, share on film.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A native iOS instant/disposable-camera app. Shoot now, see it later; photos hide and
"develop" over time, then reveal with an instant-film look baked in at capture. Invite-only.
• SwiftUI (iOS 26 target), @Observable throughout, no ObservableObject
• AVFoundation for capture, Core Image for the instant-film processing
• Supabase: Postgres + Row Level Security, email OTP auth, private Storage bucket
• iOS 26 Liquid Glass styling app-wide
• xcodegen-managed project (project.yml is the source of truth)檢視完整 README ↗A native iOS instant/disposable-camera app. Shoot now, see it later; photos hide and "develop" over time, then reveal with an instant-film look baked in at capture. Invite-only.
@Observable throughout, no ObservableObjectproject.yml is the source of truth)Flim/
Config/ Supabase client
Models/ AppUser, Roll, Photo, FilmStock, Social
Services/ Auth, Photo, Roll, Feed, Notification, RemotePush, InstantFilmProcessor
Views/ Auth, Camera, Darkroom, Rolls, Profile, Feed, Main, Components
supabase/
schema.sql Tables, RLS policies, and RPCs
migrations/ Idempotent SQL migrations (applied to production, mirrored in schema.sql)
functions/ Edge Functions (send-develop-push, send-social-push, send-daily-digest)
push/ device_tokens migration + APNs setup docs (function code lives in functions/)
web/ Invite landing page + legal site (Vercel)
scripts/ LUT fitting (fit_lut.py)
project.yml xcodegen project definition
docs/ Release, setup and operations guides (see below)
| File | What it covers |
|---|---|
docs/APP_STORE.md | Store listing copy, release notes per version, App Privacy worksheet, App Review sign-in |
docs/CRASH_TRIAGE.md | Turning a crash_diagnostics row into a file and line number, with no Apple Developer account |
docs/LAUNCH_RUNBOOK.md | Launch checklist and backlog |
docs/TESTFLIGHT_SETUP.md | CI, signing and TestFlight distribution |
docs/UNIVERSAL_LINKS.md | Associated domains, roll invites (/join/CODE) and personal invites (/i/CODE) |
docs/LUTS.md | Fitting the film look from calibration pairs |
docs/PRIVACY.md | Privacy policy source |
xcodegen: brew install xcodegen# Generate the Xcode project from project.yml
xcodegen generate
# Build for the simulator
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
xcodebuild -project Flim.xcodeproj -scheme Flim \
-destination 'generic/platform=iOS Simulator' build
Then open Flim.xcodeproj in Xcode and run on an iOS 26 simulator or device.
supabase/schema.sql in the SQL editor:
supabase/migrations/ holds paste-ready, idempotent migrations (already applied to
production). Paste each into the editor and run once; they are then mirrored in
schema.sql for historical reference. (New migrations get their own dated file.)schema.sql is the source of truth for the full schema state (idempotent, safe to
re-run). It creates the tables, RLS policies, and RPCs.photos and add the per-user policies
documented in schema.sql.Flim/Config/SupabaseClient.swift.Each capture uploads three renditions to private Storage:
All files are sRGB-tagged ICC JPEGs; access is via signed URLs (RLS-enforced per user).
FLIM is invite-only. Only allow-listed emails can request a sign-in code:
INSERT INTO public.allowed_emails (email, note) VALUES ('[email protected]', 'Name');
Local develop notifications work with no backend. To enable APNs push when roll-mates' photos
develop, deploy the auth key; see supabase/functions/send-develop-push/ and
send-social-push/ for the Edge Function code.