// 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 ?? '' } } })