Xcode CocoaPods构建失败“未定义的体系结构符号x86_64”

ljo96ir5  于 2022-10-23  发布在  Swift
关注(0)|答案(4)|浏览(235)

我想要建立我的Xcode项目(React Native和快速)为模拟器和在一个真实的设备。
模拟器工作得很好。今天我试着为我的设备构建它,我在Xcode栏中选择了我的设备,并添加了要发布的方案(我必须这样做,因为我使用的是Reaction Native,否则捆绑包不会打包)
然后在构建过程中发生错误(在本例中为依赖RNPurchase,但这是完全随机的)。有时是世博会--保持清醒或Facebook)

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_RCPurchases", referenced from:
  objc-class-ref in RNPurchases.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在我的方案中,即使切换回构建配置Debug也不再有效。
我已经试过几件事了:

  • 清除Xcode版本
  • 删除Pod文件夹
  • 删除Pod缓存
  • 删除Xcode/DerivedData
  • 重新启动

毫无办法。
这个问题对我来说是很新的,在过去的两个月里已经发生了两次。不知何故,我再次运行了模拟器的构建,但从未运行过设备。半年前我没有遇到这样的问题……
我的设置

  • Xcode 12.4
  • MacBook Pro(Big Sur 11.2.3)
  • App-Target的构建设置:仅构建活动架构:是调试,否发布)
  • Pod-Target的构建设置:仅构建活动架构:是调试,否发布)
  • Podfile:
require_relative '../node_modules/react-native/scripts/react_native_pods'
    require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
    require_relative '../node_modules/react-native-unimodules/cocoapods.rb' # expo uni modules

    use_frameworks!

    install! 'cocoapods', :deterministic_uuids => false, :warn_for_unused_master_specs_repo => false

    target 'TrainUrTeam' do
      platform :ios, '12.0'

      # ... pods xyz

      use_unimodules!

      config = use_native_modules!
      use_react_native!(:path => config["reactNativePath"])

    end

    post_install do |installer| # src: https://stackoverflow.com/a/64139830/6003494
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings["ONLY_ACTIVE_ARCH"] = "YES"
        end
      end
    end
g2ieeal7

g2ieeal71#

在谷歌搜索了两周后,我终于找到了根据Post的工作解决方案,并将其添加到Podfile中:

use_frameworks! :linkage => :static
yhxst69z

yhxst69z2#

如果use_frameworks! :linkage => :static不是您的选项,您可以尝试使用:

pre_install do |installer|
 installer.pod_targets.each do |pod|
   if pod.name.eql?('RNPurchases')
     def pod.build_type;
     Pod::BuildType.static_library # pods version >= 1.9
     # Pod::Target::BuildType.static_library #  pods version < 1.9
    end
   end
  end
end
wfveoks0

wfveoks03#

我收到了这些错误,然后重新启动了我的MacBook,清理后,然后构建,它们就消失了。魔法。

gr8qqesn

gr8qqesn4#

进入Xcode项目->构建设置->架构->排除架构->(Arm64)设置
尝试构建并运行

相关问题