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