Checklist การย้ายเครื่อง
หน้านี้บันทึกสิ่งที่ผูกกับเครื่องและสิ่งที่ต้องเช็กเมื่อต้องย้ายงาน Android/iOS dev หรือ release ไปเครื่องใหม่
จุดที่ต้องเช็ก
apps/mobile/android/local.propertiesapps/pos-terminal/android/local.propertiesJAVA_HOMEANDROID_HOMEANDROID_SDK_ROOT- release keystore และ
MYAPP_UPLOAD_* - shell aliases, CI/CD scripts และ helper script ที่อยู่นอก repo
- Xcode first launch, simulator runtime, CocoaPods และ
cmake - network ไป GitHub สำหรับ dependency ที่
pod installต้อง download
Node ผ่าน nvm
React Native ทั้งสองแอปต้องใช้ Node >=22.11.0 งานอัปเกรด React Native
0.87.1 และ smoke test บนเครื่องจริงทำด้วย Node 26.7.0 และ Yarn 1.22.22
บนเครื่องที่ใช้ nvm ให้รัน:
nvm install 26.7.0
nvm use 26.7.0
node --version
yarn --version
เลือก Node version ก่อนรัน yarn install --frozen-lockfile ที่ root เพื่อให้
native scripts และ postinstall patch ใช้ runtime เดียวกัน
ลำดับแนะนำ
- clone repo ลงเครื่องใหม่
- ติดตั้ง Node, Yarn, Java, Android SDK, NDK, Xcode, CocoaPods และ CMake
- เลือก Node version ที่รองรับผ่าน nvm แล้วรัน
yarn install --frozen-lockfileที่ monorepo root - เปิด Android Studio หนึ่งครั้งเพื่อให้ local settings ถูกสร้างหรือ refresh
- ตรวจ
JAVA_HOME,ANDROID_HOME,ANDROID_SDK_ROOT - ตรวจ keystore และ signing properties
- รัน
yarn mobile:android - รัน
yarn mobile:apkหรือyarn mobile:aab
iOS setup checks
สำหรับ mobile iOS ให้เริ่มที่:
cd apps/mobile/ios
pod install
ก่อนรัน pod install หรือ xcodebuild บนเครื่องใหม่ ให้ตรวจว่า:
- Xcode ทำ first launch และติดตั้ง components ครบแล้ว
- ติดตั้ง simulator runtime จาก Xcode Settings แล้ว
cmake --versionใช้งานได้- เครื่องต่อ GitHub ได้ เพราะบาง pods ต้อง download จาก GitHub
- รัน
yarn installที่ repo root แล้ว เพื่อให้ rootpostinstallpatch dependency ที่ต้องใช้กับ React Native new architecture
ถ้า xcodebuild แจ้งปัญหา first launch หรือ plugin ของ Xcode ให้รัน:
xcodebuild -runFirstLaunch
apps/mobile/ios/Podfile มี fix เฉพาะ repo:
- ปิด SPM ของ RNFirebase 26 เพื่อให้ CocoaPods ทำงานร่วมกับ static linkage ของโปรเจกต์ได้
- สร้าง symlink ของ
gRPC-Core.modulemapใต้Pods/Headers/Private/grpcและPods/Headers/Public/grpc - ลบ
-weak_framework "FirebaseFirestoreInternal"จาก generated app xcconfig เพื่อลดปัญหา link framework ที่ไม่มีจริง
root package.json มี postinstall สำหรับรัน scripts/patch-react-native-dependencies.js เพื่อ patch react-native-date-picker ให้ใช้ optimized ProGuard configuration ที่ Android Gradle Plugin 9 รองรับ
คำสั่ง smoke test simulator:
cd apps/mobile/ios
xcodebuild -workspace BsrPosPlus.xcworkspace -scheme BsrPosPlus -configuration Debug -sdk iphonesimulator CODE_SIGNING_ALLOWED=NO build
root scripts มี terminal:android:8082, terminal:apk และ terminal:aab
สำหรับงานพัฒนาและ package POS Terminal