10分钟解决Beta版本Xcode或者Mac系统发布APP的问题~
一、首先xcode最好是用正式版本发布,如果更新xcode到beta版本的时候,最好保留一个正式版本的xcode,beta版本xcode发布的APP,难免有bug。但是万一没有保存正式版本,用beta版本发布也是有办法的。下面介绍方法。
二、万一Mac OS更新到最新的beta的时候,想保留个正式版本的mac系统或者恢复到正式版本的mac系统就比较费劲了。(一般人没有定期备份系统的习惯)。
报错信息如下:
以上两种情况发布版本会报错:构建新的 App 和 App 更新时,必须使用公共(GM)版 Xcode 6 或更高版本、OS X 以及 iOS SDK。请勿提交使用 Beta 版软件,包括 Beta 版 OS X 构建的 App。
更合理的解决方案:(亲测正常发布APP成功~,并且执行一次流程,以后打包不用重复执行了,直接就可以发布成功了)
一:临时修改打包后文件的系统版本号
- 找到打包后的文件: Xcode里面的 Window -> Organizer -> Archives 找到对应的版本,右键 Show In Finder
- 找到相应的 .xcarchive文件右键显示包内容
Products -> Applications -> .app文件 右键显示包内容 -> 找到Info.plist - 找到KEY – BuildMachineOSBuild
把VALUE改成正式版本的编译号,比如14C109 (Yosemite 10.10.2)
二:临时修改系统版本号(由于系统权限问题修改修改该文件的权限设置:Mac OS X El Capitan系统完整性保护System Integrity Protection (SIP))
- 一定要用Vim的方式打开:/System/Library/CoreServices/SystemVersion.plist (双击打开直接修改貌似修改不成功~)
- 修改 KEY=ProductBuildVersion对应的值
即将当前“15F18b”改成正式版本的编译号,比如14C109 (Yosemite 10.10.2) - 重启Xcode、找到对应的Window -> Organizer -> Archives ,重新打包并提交iTunes Connect
第二部修改系统版本号失败的话可以参考:http://blog.csdn.net/yulimin/article/details/49992031
如何禁用SIP系统完整性保护机制:
如何禁用SIP系统完整性保护机制?
1、重新启动操作系统;
2、按住Command + R键;
3、菜单“实用工具” ==>> "终端" ==>> 输入 csrutil disable 回车
执行成功后,返回信息如下:
Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
4、这样,更改的配置保存到NVRAM中,对整台机器生效,重新启动即可