All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 1m14s
Phase 4 (mobile) kickoff. Ships the native iOS wrapper that lets users share photos/videos from the iOS Share Sheet into AnyDrop — the one thing the PWA alone cannot do on iOS because Apple still ignores the Web Share Target API. Architecture: - web/ios/ — Capacitor-generated Xcode project pointing the WKWebView at https://anydrop.arthurbarre.fr (real web app; only native code is the share-in path, so no "thin wrapper" App Store concern). - AnyDropShare (Share Extension target) — stashes selected items into an App Group shared container then opens anydrop://share. - SharedInboxPlugin (custom Capacitor plugin) — drains that container from JS after the URL fires, returning base64 blobs. - web/src/lib/nativeShare.ts — bridge that rehydrates File objects and routes them into the existing /share page flow (same one Android uses). Xcode-side target registration + signing isn't scriptable; runbook is in docs/ios-setup.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
21 lines
572 B
TypeScript
21 lines
572 B
TypeScript
import type { CapacitorConfig } from "@capacitor/cli";
|
|
|
|
const config: CapacitorConfig = {
|
|
appId: "fr.arthurbarre.anydrop",
|
|
appName: "AnyDrop",
|
|
webDir: "dist",
|
|
server: {
|
|
// The iOS app is a thin shell around the production PWA. The real value
|
|
// vs. a web clip is the native Share Extension (see ios/App/AnyDropShare),
|
|
// which lets users send photos/videos from the iOS Photos share sheet.
|
|
url: "https://anydrop.arthurbarre.fr",
|
|
cleartext: false,
|
|
},
|
|
ios: {
|
|
scheme: "AnyDrop",
|
|
contentInset: "always",
|
|
},
|
|
};
|
|
|
|
export default config;
|