/** * 플랫폼 관련 유틸리티 함수들 */ import { Capacitor } from '@capacitor/core'; /** * 안드로이드 플랫폼인지 확인 */ export const isAndroidPlatform = (): boolean => { return Capacitor.getPlatform() === 'android'; }; /** * iOS 플랫폼인지 확인 */ export const isIOSPlatform = (): boolean => { return Capacitor.getPlatform() === 'ios'; }; /** * 웹 플랫폼인지 확인 */ export const isWebPlatform = (): boolean => { return Capacitor.getPlatform() === 'web'; }; /** * 네이티브 플랫폼(Android 또는 iOS)인지 확인 */ export const isNativePlatform = (): boolean => { return isAndroidPlatform() || isIOSPlatform(); }; /** * 앱 버전 정보 가져오기 */ export const getAppVersionInfo = async () => { try { // BuildInfoPlugin이 설치되어 있다면 사용 if (Capacitor.isPluginAvailable('BuildInfo')) { // Capacitor.Plugins 대신에 직접 window 객체에서 접근 // @ts-ignore - 플러그인이 런타임에 등록되므로 타입 체크를 무시 const buildInfo = await Capacitor.Plugins?.BuildInfo?.getBuildInfo(); return { versionName: buildInfo?.versionName || '1.0.1', buildNumber: buildInfo?.buildNumber ? parseInt(buildInfo.buildNumber, 10) : 2, versionCode: buildInfo?.versionCode ? parseInt(buildInfo.versionCode, 10) : undefined }; } // 플러그인이 없으면 기본값 반환 return { versionName: '1.0.1', buildNumber: 2 }; } catch (error) { console.error('앱 버전 정보를 가져오는 중 오류 발생:', error); return { versionName: '1.0.1', buildNumber: 2 }; } };