Xcode 构建失败,架构 arm64 的符号未定义:

f4z*_*k4s 1 xcode ios arm64 react-native github-ci

当我尝试构建 iOS 存档时,我在 Github CI 上收到以下警告:

ld: warning: ignoring file ios/myframework.xcframework/ios-arm64/myframework.framework/myframework, building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F )
Run Code Online (Sandbox Code Playgroud)

然后这个错误随之而来:

Undefined symbols for architecture arm64:
Run Code Online (Sandbox Code Playgroud)

现在令人困惑的是,这个错误可能由于多种原因而发生,就我而言,它不是我在网上找到的任何原因。

f4z*_*k4s 14

经过几个小时的调试,我发现出现了未知不支持的文件格式警告,因为我使用 Git LFS 作为框架的二进制文件。Git LFS 用文本指针替换二进制文件。当 Xcode 尝试在 CI 上构建我的存档时,它没有从 LFS 中提取二进制文件,因此字符串指针保留在ios/myframework.xcframework/ios-arm64/myframework.framework/myframework. 确保在尝试在 CI 上设置 Xcode 构建之前从 LFS 中提取大型二进制文件,否则您可能会看到一些像这样的不太容易调试的问题。

\n

因此,解决方案实际上就像git lfs pull在尝试构建存档之前运行一样简单,并且 voil\xc3\xa1,错误消失了。

\n