버전 표시 오류 수정5

This commit is contained in:
hansoo
2025-03-23 22:57:23 +09:00
parent 5720c9210f
commit a964eeb60c

View File

@@ -31,12 +31,15 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
const savedInfo = useMemo(() => { const savedInfo = useMemo(() => {
try { try {
if (typeof localStorage !== 'undefined') { if (typeof localStorage !== 'undefined') {
// localStorage 초기화 - 저장된 오래된 버전 정보 제거
localStorage.removeItem('app_version_info');
const saved = localStorage.getItem('app_version_info'); const saved = localStorage.getItem('app_version_info');
return saved ? JSON.parse(saved) : null; return saved ? JSON.parse(saved) : null;
} }
return null; return null;
} catch (e) { } catch (e) {
console.error('저장된 버전 정보 파싱 오류:', e); console.error('localStorage 접근 오류:', e);
return null; return null;
} }
}, []); }, []);
@@ -46,14 +49,11 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
const platform = Capacitor.getPlatform(); const platform = Capacitor.getPlatform();
const isWeb = platform === 'web'; const isWeb = platform === 'web';
if (savedInfo) { // 항상 최신 버전 정보 사용
return savedInfo;
}
const defaultVersionInfo: VersionInfo = { const defaultVersionInfo: VersionInfo = {
versionName: isWeb ? '1.1.1.3' : '1.0.0', versionName: isWeb ? '1.1.1.3' : '1.0.0', // 최신 버전으로 업데이트
buildNumber: isWeb ? 7 : 1, buildNumber: isWeb ? 7 : 1, // 최신 빌드 번호로 업데이트
versionCode: isWeb ? 7 : 1, versionCode: isWeb ? 7 : 1, // 최신 버전 코드로 업데이트
platform: platform, platform: platform,
defaultValuesUsed: true defaultValuesUsed: true
}; };
@@ -70,7 +70,7 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
} }
return defaultVersionInfo; return defaultVersionInfo;
}, [savedInfo]); }, []);
const [versionInfo, setVersionInfo] = useState<VersionInfo>(defaultInfo); const [versionInfo, setVersionInfo] = useState<VersionInfo>(defaultInfo);
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
@@ -163,27 +163,12 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
console.log('앱 버전 정보 로딩 시작'); console.log('앱 버전 정보 로딩 시작');
try { try {
if (savedInfo && isMounted) {
console.log('저장된 정보로 먼저 표시:', savedInfo);
setVersionInfo(savedInfo);
}
const newVersionInfo = await getAppVersionInfo(); const newVersionInfo = await getAppVersionInfo();
if (!isMounted) return; if (!isMounted) return;
console.log('불러온 버전 정보:', newVersionInfo); console.log('불러온 버전 정보:', newVersionInfo);
if (!isAndroidPlatform() && !isIOSPlatform() &&
'defaultValuesUsed' in newVersionInfo &&
newVersionInfo.defaultValuesUsed === true &&
savedInfo) {
console.log('웹 환경의 기본값 대신 저장된 값 사용');
setVersionInfo(savedInfo);
setLoading(false);
return;
}
try { try {
if (typeof localStorage !== 'undefined') { if (typeof localStorage !== 'undefined') {
localStorage.setItem('app_version_info', JSON.stringify(newVersionInfo)); localStorage.setItem('app_version_info', JSON.stringify(newVersionInfo));
@@ -202,7 +187,7 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
console.error('버전 정보 가져오기 실패:', error); console.error('버전 정보 가져오기 실패:', error);
if (isMounted) { if (isMounted) {
const fallbackInfo = savedInfo || defaultInfo; const fallbackInfo = defaultInfo;
console.log('오류 발생으로 대체 정보 사용:', fallbackInfo); console.log('오류 발생으로 대체 정보 사용:', fallbackInfo);
setVersionInfo(fallbackInfo); setVersionInfo(fallbackInfo);
setLoading(false); setLoading(false);
@@ -215,7 +200,7 @@ const AppVersionInfo: React.FC<AppVersionInfoProps> = ({
return () => { return () => {
isMounted = false; isMounted = false;
}; };
}, [savedInfo, defaultInfo]); }, [defaultInfo]);
const renderDevInfo = () => { const renderDevInfo = () => {
if (versionInfo && showDevInfo) { if (versionInfo && showDevInfo) {