我有同样的错误,
ld: in '/usr/lib/system/libcommonCrypto.dylib', missing required architecture arm64 in file /usr/lib/system/libcommonCrypto.dylib (2 slices) for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我通过检查我的 $PATH 解决了这个问题。这是一个丢失的文件。
使用find / -type f -name libcommonCrypto.dylib
将我的库与我朋友的 mac 系统进行比较,它表明我的计算机上不存在此文件:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system/libcommonCrypto.dylib
Xcode 使用 $PATH 后备,/usr/lib/system/libcommonCrypto.dylib
但它不是很好的构建(i386 而不是 arm 的东西)。
我复制了我朋友的版本,搬进来/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/system/
,然后我能够再次构建我的项目。
这里有一个恶性问题,因为这个库有很多相同的文件,具体取决于您的架构,并且其中大多数不打算用于 ios 构建。但是,当在专用目录上找不到文件时,$PATH env var 将回退到 /usr/lib。
Xcode 回退,/usr/lib/system/libcommonCrypto.dylib
但这绝对不是正确的库,因为它不是为 ios 构建的,而是为我的 mac 构建的。