m1系列xcode项目遇到的问题

运行旧项目时遇到问题:

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:

在访达的应用程序列表中,找到xcode,右键选择显示简介,然后勾选“使用Rosetta打开”。

image.png

这种方法最简单粗暴,什么代码都不用改,但是因为要再经过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:

直接用真机运行

目前发现有的项目通过第二种方法是可以运行了,但是有的项目还是不行,还在不断研究中

你可能感兴趣的:(m1系列xcode项目遇到的问题)