概述
一位朋友遇到这样的审核被拒:
Invalid Toolchain. New apps and app updates must be built with the public (GM) versions.
查了一些资料,先说下原因:
打包时候, iTunes Connect会读取这个值,从而知道app是使用OS X预发布版本的建立的,从而拒绝。
将app提交到iTunes Connect时会提示失败,此app不能安装任何设备上,越狱设备除外。
高版本beta我们可以重装OS X来修复这个问题,这个成本太大。找到一个方法,可以不必降级版本,通过改变OS 版本号来解决。
系统版本号保存路径:/System/Library/CoreServices/SystemVersion.plist
(这是一个系统文件,Mac OS X 系统默认开启了完整性保护(System Intregrity Protection,SIP),所以即使是root帐户也无法修改系统目录中的文件。)
第一步: 禁用 SIP
1. 终端查看SIP状态,关闭SIP:
csrutil status
状态enable执行下一步,关闭SIP:
重启电脑,按住Command+R(直到出现苹果标志)进入Recovery Mode(恢复模式)
左上角菜单里找到实用工具 -> 终端
输入$ csrutil disable回车
重启Mac即可
如果想重新启动SIP机制重复上述步骤改用$ csrutil enable即可
2. 使用编辑器打开 /System/Library/CoreServices/SystemVersion.plist
朋友系统版本为:mac OS Catalina 10.15 Beta (19A546d)
我的系统版本位:mac OS Mojava 10.14.5 (18F132)
编辑ProductBuildVersion值,从 19A546d 版本号替换为 18F132
最后,按 esc 输入 :wq 保存并退出
3. 重启Xcode,重新archive您的app并正常的提交到您的App Store,这次应该能通过 iTunes Connect的审查。
参考资料:
https://georgegarside.com/blog/ios/submit-apps-built-beta-xcode/
https://georgegarside.com/blog/osx/package-incompatible-installer/
最后
以上就是高贵宝贝为你收集整理的解决:工具链无效,app必须建立于通用版本(系统beta版本打包app)的全部内容,希望文章能够帮你解决解决:工具链无效,app必须建立于通用版本(系统beta版本打包app)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复