안드로이드 스플래시 화면 지연 문제 해결

This commit is contained in:
hansoo
2025-03-19 23:28:05 +09:00
parent 4cfc48c8e1
commit 19fba927e9
4 changed files with 109 additions and 2 deletions

View File

@@ -11,7 +11,7 @@ const config: CapacitorConfig = {
}, },
plugins: { plugins: {
SplashScreen: { SplashScreen: {
launchShowDuration: 3000, launchShowDuration: 1000,
launchAutoHide: true, launchAutoHide: true,
backgroundColor: "#FFFFFF", backgroundColor: "#FFFFFF",
androidSplashResourceName: "splash", androidSplashResourceName: "splash",

70
fix-android-splash.sh Executable file
View File

@@ -0,0 +1,70 @@
#!/bin/bash
# 안드로이드 스플래시 화면 지연 문제 해결 스크립트
echo "안드로이드 스플래시 화면 지연 문제 해결 중..."
# 프로젝트 디렉토리로 이동
cd "$(dirname "$0")"
# 1. capacitor.config.ts 수정
echo "capacitor.config.ts 수정 중..."
cat > "capacitor.config.ts" << 'EOL'
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.lovable.zellyfinance',
appName: '젤리의 적자탈출',
webDir: 'dist',
server: {
androidScheme: 'https',
iosScheme: 'https',
cleartext: true
},
plugins: {
SplashScreen: {
launchShowDuration: 1000,
launchAutoHide: true,
backgroundColor: "#FFFFFF",
androidSplashResourceName: "splash",
androidScaleType: "CENTER_CROP",
showSpinner: false,
splashFullScreen: false,
splashImmersive: false
},
Keyboard: {
resize: "body",
style: "dark",
resizeOnFullScreen: true
}
},
ios: {
scheme: "App"
}
};
export default config;
EOL
echo "capacitor.config.ts 수정 완료"
# 2. App.tsx 수정
echo "App.tsx 수정 중..."
APP_TSX="src/App.tsx"
# App.tsx 파일에서 스플래시 화면 관련 코드 수정
# 타임아웃 값을 플랫폼에 따라 다르게 설정
sed -i '' 's/setTimeout(async () => {/setTimeout(async () => {/g' "$APP_TSX"
sed -i '' 's/}, 500); \/\/ 500ms로 줄임/}, 300); \/\/ 300ms로 줄임/g' "$APP_TSX"
echo "App.tsx 수정 완료"
# 3. 웹 앱 빌드
echo "웹 앱 빌드 중..."
npm run build
# 4. Capacitor 업데이트
echo "Capacitor 업데이트 중..."
npx cap copy android
echo "안드로이드 스플래시 화면 지연 문제 해결 완료!"
echo "이제 Android Studio에서 앱을 빌드하고 실행하세요."
echo "npx cap open android"

37
rebuild-app.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/bash
# 앱 재빌드 스크립트
echo "앱 재빌드 시작: $(date)"
# 프로젝트 디렉토리로 이동
cd "$(dirname "$0")"
# 최신 코드 가져오기
echo "최신 코드 가져오기..."
git pull
# 의존성 설치
echo "의존성 설치 중..."
npm install
# 웹 앱 빌드
echo "웹 앱 빌드 중..."
npm run build
# Capacitor 웹 코드 복사
echo "Capacitor에 웹 코드 복사 중..."
npx cap copy
# iOS 앱 빌드 (Xcode 필요)
echo "iOS 앱 빌드 중..."
npx cap open ios
echo "앱 재빌드 완료!"
echo "iOS 앱을 빌드하려면 Xcode에서 다음 단계를 수행하세요:"
echo "1. Product > Clean Build Folder"
echo "2. Product > Build"
echo "3. Product > Run (시뮬레이터나 기기에서 테스트)"
# 안드로이드 앱 빌드 (Android Studio 필요)
# echo "안드로이드 앱 빌드 중..."
# npx cap open android

View File

@@ -87,7 +87,7 @@ function App() {
} catch (err) { } catch (err) {
console.error('스플래시 화면 숨김 오류:', err); console.error('스플래시 화면 숨김 오류:', err);
} }
}, 500); // 500ms로 줄임 }, 300); // 300ms로 줄임
} catch (err) { } catch (err) {
console.error('앱 준비 오류:', err); console.error('앱 준비 오류:', err);
} }