close

話說 Apple 在 2017/4/18 的時候推出 XCode 8.3.2(搭配的依舊是 iOS SDK 10.3),最近不知道那個筋不對,想把超過半年以上沒異動的 app 專案從 XE8 轉上 Tokyo 版本,既然 Delphi 用最新版,當然 macOS、XCode 就順手更新到最新版本,順便測試看看有沒有甚麼問題~

國內幾個主要的論壇或是 FB 都沒看到有人提出什麼問題,對岸雖然有提出已經碰到的問題,但似乎並沒有讓人感受到無法使用下去,於似乎就'想說上吧!

  升級到 Delphi 10.2 Tokyo 笔记

  Delphi 10.2 非官方补丁合集

  RAD Studio 10.2 Tokyo Hotfix 更新说明

升級下去,才發現自己真的高估了 EMBT 背後新東家的能力,使用 Tokyo 版本一開始在 Android 版本遇到 GCM 註冊問題不說(三行程式碼就可以重現問題,但在 Tokyo 之前版本沒問題,容後有機會再分享),只好降版退而求其次到 Berlin Update2,好不容易在稍稍調整 Location Sensor 的寫法後,Android 版本算是順利升級上去,但是要測試  iOS 版本的時候,卻連 ipa 都編譯不出來!!!一整個悶,有圖有真相

完整的錯誤訊息是這樣的

[PAClient Error] Error: E0776 Unable to execute '"/usr/bin/xcrun" -sdk iphoneos PackageApplication -v "/Users/user/PAServer/scratch-dir/admin-PAServer/WCRMApp.app" -o "/Users/user/PAServer/scratch-dir/admin-PAServer/WCRMApp.ipa" -sign "iPhone Distribution: WINTON SYSTEM CO., LTD." --embed "/Users/user/Library/MobileDevice/Provisioning Profiles/e540f7c4-ba1b-496f-9f26-7012dc320cfd.mobileprovision"' (Error 72)

還在想說是不是自己那個環節沒有設定好,努力調整了半天卻不得其門而入,只好求助於 google 大神,首先你可以在官網找到這篇

  http://docwiki.embarcadero.com/PlatformStatus/en/Main_Page#iOS_10

其中提到無法建立可以發佈到 apple store 的 App @ Tokyo(Tokyo 都不行了,更何況是 Berlin)

實際上不但是 apple store 不行,連 enterprise program 的也是一樣,日期是 3/31,解決方案居然是要求使用者自行想辦法在 mac 上另行安裝 XCode 8.2,然後再自己下指令要求 XCode 變更預設的參數,顯然原廠不是不知道有這個狀況,只是經過一個多月了,居然還沒有修正程式出來?難道不能上架 apple store 的這個狀況算是小問題嗎!

仔細再用 google 查了一下事情原委,原來是 apple 的 XCode 自 8.3 版起,取消使用 PackageApplication 這個功能,而這個功能正是 PAServer 等第三方工具使用命令列的方式呼叫 XCode 打包編譯的方式,因此像 MS 的 Xamarin 也是一樣受影響(只是不知道 MS 改好了沒?)。

小弟不想去安裝 XCode 8.2 那麼大一包來解決這個問題,經過一陣明查暗訪後,採用以下方式就可以在 EMBT 尚未修正前先暫時解決 deploy 的問題

  (1)下載下述檔案(8.2 版的PackageApplication)

      https://1drv.ms/u/s!Au7-ZAVTW048iNkRTaN7MPI5hfgKyQ

  (2)解壓縮之後放到 mac 的 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ 這個目錄

  (3)在終端機模式下,執行下述兩個指令

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication

完成上述動作後,在 Berlin Update2 + XCode 8.3.2 就可以順利編譯出 ipa 並且發佈到實機上嚕,執行起來大致也沒遇到什麼問題

 

to be continued....

arrow
arrow

    縹緲 發表在 痞客邦 留言(0) 人氣()