今天用cocoapods新增了个第三方库
跑真机时报:Command PhaseScriptExecution failed with a nonzero exit code
但在模拟器上运行正常,事实证明这是个头大的问题搞了大半天😖
具体啥原因到现在我也说不清楚,具体咋解决的也说不明白了(尝试过的方法太多了),
一、看到最多的解决方案是 Xcode 菜单栏选择File → Workspace Setting
,找到Shared Workspace Settings 把New Build System (Default)
切换到Legacy Build System
参考来源>>
那来吧咱也尝试一下(然而在Xcode14.3版本中没找到Shared Workspace Settings 设置)
二、清理工作区缓存系列 参考来源>>
1.首先在
Product -> Scheme
中选择当前项目的主代码模块;
2.选择Product -> Clean Build Folder
清理工作区;
3.之后再重新编译项目代码
就可以了(尝试后并没有起作用)。
三、比较暴力、理论感觉比较彻底的方法,删除现有的pods库用cocoapods重新导入参考来源>>
1.打开项目所在文件夹删除
xxxx.xcworkspace、Podfile.lock、Pods
文件;
2.使用终端重新执行pod install
命令下载第三方库;
3.理论
上此时重新编译项目代码问题就应该解决了;
经过漫长的等待……尝试后然而并没有起作用
四、升级cocoapods版本打开终端执行sudo gem install cocoapods
进行升级参考来源>>
五、修改Pods-项目名称-frameworks.sh
文件脚本内容参考来源>>
具体方法:
1.展开XCode左侧的项目结构目录,逐级展开
Pods -> Target Support Files -> Pods-项目名称
,打开其中的Pods-项目名称-frameworks.sh
文件;
2.找到source="$(readlink "${source}")"
代码,大概在第44行;
3.将第二步的代码修改成source="$(readlink -f "${source}")"
再重新运行预期问题就应该解决了(经过尝试还是不行);
六、也有说是钥匙串访问权限问题,那咱就更改
1.打开【钥匙串访问】,然后在【登录】右键【锁定钥匙串】再【解锁】;
2.command+shift+k
清理再运行;
3.结果就不多说了,运气好的话估计就到此结束了😂。
七、修改Pods-项目名称-frameworks.sh
和Pods-项目名称-resources.sh
文件的访问权限
1.打开Mac终端执行"sudo chmod 777 +文件授权地址"
(例"sudo chmod 777 Pods-Comic-frameworks.sh ")
2.cd到报错的Pods目录下后,然后执行命令a+x Pods-项目名-resources.sh
即可解决问题
反正这个方案对我还是免疫😂
八、到这里就算是柳暗花明又一村了,修改TARGETS → Buile Settings → Excluded Architectures
为arm64
如下图所示:
更改过后意料之外的事情发生了终于正常运行起来了,一顿操作下来并不知道具体原因是啥,所幸尝试这么多方案没有增加新的报错
还有一些其他的方法就不详细列举了(都试过了没卵用)
1.重新下载证书,更新钥匙串中的证书;
2.在"Podfile"文件最后一个"end"上添加如下代码并终端执行"pod install"再运行
……
/********************************/
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
end
end
end
end
/********************************/
//这是最后一个end
end
3.删除TARGETS → Buile Phases → Run Script
中的相关脚本。