XCode 8.3.2 !!!
话说 Apple 在 2017/4/18 的时候推出 XCode 8.3.2(搭配的依旧是 iOS SDK 10.3),最近不知道那个筋不对,想把超过半年以上没异动的 app 专案从 XE8 转上 Tokyo 版本,既然 Delphi 用最新版,当然 macOS、XCode 就顺手更新到最新版本,顺便测试看看有没有甚么问题~
国内几个主要的论坛或是 FB 都没看到有人提出什么问题,对岸虽然有提出已经碰到的问题,但似乎并没有让人感受到无法使用下去,于似乎就'想说上吧!
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)在终端机模式下,执行下述两个指令
|
完成上述动作后,在 Berlin Update2 + XCode 8.3.2 就可以顺利编译出 ipa 并且发布到实机上噜,执行起来大致也没遇到什么问题
to be continued....