- V3 모바일 마스터 플랜 작성 (docs/v3/00-mobile-master-plan.md) 11개 Phase, 5주 로드맵, 전략 결정사항 확정 - 7개 디자인 HTML 레퍼런스 저장 (docs/v3/designs/) - app.json → app.config.ts 전환 + 환경변수 체계 - 5탭 네비게이션 (DASH/HIST/REC FAB/TALK/SET) - metro.config.js monorepo 격리 (root RN 0.84 충돌 해결) - ui-native 테마 디자인 목업 색상 동기화 - SafeArea 적용 (useSafeAreaInsets) - DEV 로그인 우회 (__DEV__ 전용) - Supabase .env 연동 - iOS 시뮬레이터 검증 완료
64 lines
1.5 KiB
TypeScript
64 lines
1.5 KiB
TypeScript
// apps/mobile/app.config.ts
|
|
// Expo 설정 — 환경변수 관리, 플러그인, 권한
|
|
|
|
import { type ExpoConfig, type ConfigContext } from 'expo/config'
|
|
|
|
export default ({ config }: ConfigContext): ExpoConfig => ({
|
|
...config,
|
|
name: 'D3RO Voice',
|
|
slug: 'd3ro-voice',
|
|
scheme: 'd3ro-voice',
|
|
version: '1.0.0',
|
|
orientation: 'portrait',
|
|
icon: './assets/icon.png',
|
|
userInterfaceStyle: 'dark',
|
|
splash: {
|
|
image: './assets/splash.png',
|
|
resizeMode: 'contain',
|
|
backgroundColor: '#19191b'
|
|
},
|
|
ios: {
|
|
supportsTablet: true,
|
|
bundleIdentifier: 'com.d3ro.voice',
|
|
infoPlist: {
|
|
NSMicrophoneUsageDescription:
|
|
'D3RO Voice uses the microphone for voice recognition and recording.',
|
|
UIBackgroundModes: ['audio', 'fetch', 'remote-notification']
|
|
}
|
|
},
|
|
android: {
|
|
package: 'com.d3ro.voice',
|
|
permissions: [
|
|
'RECORD_AUDIO',
|
|
'FOREGROUND_SERVICE',
|
|
'FOREGROUND_SERVICE_MICROPHONE',
|
|
'POST_NOTIFICATIONS'
|
|
],
|
|
adaptiveIcon: {
|
|
foregroundImage: './assets/adaptive-icon.png',
|
|
backgroundColor: '#19191b'
|
|
}
|
|
},
|
|
plugins: [
|
|
'expo-router',
|
|
'expo-secure-store',
|
|
'expo-av',
|
|
[
|
|
'expo-notifications',
|
|
{
|
|
icon: './assets/icon.png',
|
|
color: '#ff5c35'
|
|
}
|
|
]
|
|
],
|
|
experiments: {
|
|
typedRoutes: true
|
|
},
|
|
extra: {
|
|
supabaseUrl: process.env.EXPO_PUBLIC_SUPABASE_URL ?? '',
|
|
supabaseAnonKey: process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY ?? '',
|
|
eas: {
|
|
projectId: process.env.EAS_PROJECT_ID ?? ''
|
|
}
|
|
}
|
|
})
|