运行旧项目时遇到问题:
xxx/Pods/Target Support Files/Pods-xxx/Pods-xxx-frameworks.sh: line 128: ARCHS[@]: unbound variable
Command PhaseScriptExecution failed with a nonzero exit code
或者
The linked library 'xxxx.a/Framework' is missing one or more architectures required by this target: armv7.
解决方案1:
image.png在访达的应用程序列表中,找到xcode,右键选择显示简介,然后勾选“使用Rosetta打开”。
这种方法最简单粗暴,什么代码都不用改,但是因为要再经过Rosetta转译,会影响执行效率,也会增加电池的续航。不推荐这一种方法,只是在最后没有解决办法的时候使用。
解决方案2:
在Target-Build Settings-Excluded Architectures中添加以下代码
EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64=arm64 arm64e armv7 armv7s armv6 armv8 EXCLUDED_ARCHS=(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_(NATIVE_ARCH_64_BIT))
但是运行之后还是会提示 arm64 的问题,所以在 Debug 哪里多加一个 arm64 ,Release 是不需要的,不然打包会报错。
如果还是不行就是在 podfile 中加入下列代码,重新pod install
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
解决方案3:
直接用真机运行
网友评论