Xcode使用Run Script脚本

Xcode使用Run Script脚本,第1张

由于某次上线,忘记修改Display Name,铸成大错。

Xcode可以使用脚本,在打包时修改Display Name、Bundle Id等信息。

一、在Build Phases添加脚本

1.2 自增长Build Number

二、在Scheme里添加脚本

在这里写可以不用写判断Debug或Release模式

三、错误

可能会出现错误:

编译前clean一下,就可以解决了。

这是由于PRODUCT_BUNDLE_IDENTIFIER并没有改过来导致的。

所以在打包上传之前,需要clean一下。

参考资料:

上一篇 我写了在xcode里面添加 run script 来执行脚本,可是打包之后发现,只有用 xcode 运行的时候才会执行这个 shell 命令,查了很多资料,最后我觉得应该是我理解错了,这里的 run script 很可能只是为了方便自动化打包之类的场景适用,而并不是真正的运行时执行脚本。那该怎么实现呢?

参阅博客一

参阅博客二

参阅博客三

但是有一个问题,因为脚本是:

adb需要管理员权限,所以一直提示没有权限执行脚本。

查了一下资料,可以用 with administrator privileges ,这时候又报"用户名密码不正确",不知道为啥,最终抛弃了 NSTask ,找到了 这个库 ,它自动帮我们处理权限问题,最终:

按理说这样应该就没啥问题了,可是这是由又报 someting went wrong:6005 ,又是一顿google, 最终发现 :

近日,在运行项目时,在毫无征兆的情况下,xcode多次出现build canceled的情况,并且这种情况出现的很频繁,也没有任何报错和警告,我一时也无从下手。

无奈只能多方查找Stack Overflow的相关问答,但是上面的回答要么是很老,要么是尝试之后依然无效。经过一条一条的查看,终于“修成正果”:

原因:我之前为了让项目可以自动升级build version,在Build Phases里面特意新添加了一个Run Script,并且在里面添加脚本:

xcrun agvtool next-version -all

就是这句话,才导致了build canceled的发生。

解决办法:将xcrun agvtool next-version -all替换为下图文字:

复制下来就是:

然后重新build,搞定!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11358148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存