d3ro-voice/apps/mobile/app.config.ts
2026-08-29 18:55:27 +09:00

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