上一篇介紹了:EXPO iOS Xcode 自動打包步驟 ,不過很容易遇上證書問題,Apple Store證書比 Google Play的複雜了不少,如果遇上這問題可考慮用 EAS Local Build
背景
EAS Build 免費用戶經常需要排隊數小時才能完成 iOS 打包,對於開發測試來說效率太低。本教學將指導你如何在本地環境直接打包 IPA,5-10 分鐘即可完成。同時本篇再教一次用xcode打包
測試及教學環境
- macOS 系統(M1/M2 或 Intel)
- 已有 Expo 專案
- 安裝 Xcode 15+
- Apple Developer 帳號
前置準備:Apple Developer 憑證設定
在開始打包前,確保你的 Apple Developer 憑證已正確設定:
檢查並清理系統憑證環境
// 檢查現有證書
security find-identity -v -p codesigning
//如果有過多重複證書,建議清理(可選)
security delete-identity -Z <SHA1_HASH>
方法一:EAS Local Build(推薦)
步驟一:檢查專案類型
確認你的專案是否為 Expo 開發版本:
ls -la
如果看到ios
資料夾,代表已是開發版本。如果沒有,需要先轉換:
npx expo run:ios
ls -la
步驟二:設定 Apple 憑證
npx eas credentials --platform ios
選擇:All: Set up all the required credentials to build your project
這會自動:
- 下載 Distribution Certificate
- 下載 Provisioning Profile
- 儲存到 credentials/ios/ 目錄
步驟三:執行本地打包
npx eas build --platform ios --local --profile production
步驟四:取得 IPA 檔案
打包成功後,IPA 檔案會生成在專案根目錄:
build-[timestamp].ipa
方法二:原生 Xcode 打包
步驟一:打開 Xcode 專案
open ios/APP.xcworkspace
步驟二:配置簽名
- 選擇 APP target
- 進入 Signing & Capabilities tab
- 勾選 "Automatically manage signing"
- 選擇正確的 Team
步驟三:Archive 打包
- 頂部選擇 Any iOS Device
- Product → Archive
- 等待編譯完成
步驟四:匯出 IPA
- Archive 完成後會開啟 Organizer
- 選擇 Distribute App
- 選擇 App Store Connect
- 跟隨指示完成匯出
有關上傳到 App Store
方法A. 使用 Transporter(推薦)
- 從 Mac App Store 下載 Transporter
- 登入對應的 開發者Apple ID
- 拖拽 IPA 檔案到 Transporter
- 點擊 交付
方法B. 使用指令行
xcrun altool --upload-app -f your-app.ipa -u [Apple ID] -p [App專用密碼]
我只是網上找到,我一直用方法一,我驗證過方法二,純分享
常見問題排解
問題 1:憑證配對錯誤
Provisioning profile doesn't include signing certificate
解決方法:
//重新設定憑證
npx eas credentials --platform ios
//選擇 "All: Set up all the required credentials"
問題 2:IBAgent 通訊錯誤
Encountered an error communicating with IBAgent-iOS
解決方法:
//清理 Xcode 快取
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.apple.dt.Xcode
// 重啟 Xcode 相關服務
sudo pkill -f Xcode
sudo pkill -f IBAgent
問題 3:清理重新打包
// 清理 EAS 快取
npx eas build --platform ios --local --profile production --clear-cache
// 清理 iOS 建置檔案
cd ios && xcodebuild clean && cd ..
// 重新安裝 Pods
cd ios && pod install && cd ..
效能比較
方法 | 時間 | 優點 | 缺點 |
---|---|---|---|
EAS Local | 4-6 分鐘 | 自動化程度高 | 需要設定憑證 |
原生 Xcode | 3-5 分鐘 | 直觀可視化 | 手動步驟較多 |
EAS 雲端 | 30-60 分鐘 | 無需本地環境 | 排隊時間長 |
結語
本地打包雖然初次設定需要處理憑證問題,但對於頻繁測試的開發流程來說更加高效。建議開發階段使用本地打包,正式發布時可根據需要選擇最適合的方式。