ข้ามไปยังเนื้อหาหลัก

Checklist การย้ายเครื่อง

หน้านี้บันทึกสิ่งที่ผูกกับเครื่องและสิ่งที่ต้องเช็กเมื่อต้องย้ายงาน Android/iOS dev หรือ release ไปเครื่องใหม่

จุดที่ต้องเช็ก

  • apps/mobile/android/local.properties
  • apps/pos-terminal/android/local.properties
  • JAVA_HOME
  • ANDROID_HOME
  • ANDROID_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

ลำดับแนะนำ

  1. clone repo ลงเครื่องใหม่
  2. ติดตั้ง Node, Yarn, Java, Android SDK, NDK, Xcode, CocoaPods และ CMake
  3. รัน yarn install ที่ monorepo root
  4. เปิด Android Studio หนึ่งครั้งเพื่อให้ local settings ถูกสร้างหรือ refresh
  5. ตรวจ JAVA_HOME, ANDROID_HOME, ANDROID_SDK_ROOT
  6. ตรวจ keystore และ signing properties
  7. รัน yarn mobile:android
  8. รัน 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 แล้ว เพื่อให้ root postinstall patch dependency ที่ต้องใช้กับ React Native new architecture

ถ้า xcodebuild แจ้งปัญหา first launch หรือ plugin ของ Xcode ให้รัน:

xcodebuild -runFirstLaunch

apps/mobile/ios/Podfile มี fix เฉพาะ repo:

  • สร้าง 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-view-shot-ios.js เพื่อ patch react-native-view-shot ให้ใช้ RCTScrollViewComponentView เมื่อเปิด React Native new architecture

คำสั่ง smoke test simulator:

cd apps/mobile/ios
xcodebuild -workspace BsrPosPlus.xcworkspace -scheme BsrPosPlus -configuration Debug -sdk iphonesimulator CODE_SIGNING_ALLOWED=NO build