在iOS模拟器上构建,但链接的目标文件是为arm64架构的iOS构建的。

7

遇到以下错误:

Realm/core/librealmcore-ios.a(array_binary.o),构建 iOS 模拟器,但链接的目标文件是为 iOS 构建的,架构是 arm64

使用 Swift iOS 14 xcode 12.0.1

我的尝试:

  • 更新到最新的 realm
  • 排除 arm64 架构

似乎都不起作用, 看起来 Realm 也存在问题:https://realm.io/docs/swift/latest/#cocoapods

"在某些 Realm 5.x 和 Xcode 12 的组合中,可能不支持 Arm64 模拟器架构。如果您在使用最新版本的 Realm 时遇到与架构相关的构建错误,请尝试以下解决方法。"


你使用的CocoaPods版本是哪个? - Sander Saelmans
不确定问题中的链接是什么,但我刚刚创建了一个新项目,与您的设置相同,使用Cocoapods安装了RealmSwift并且它正在运行。您能否包含您的podfile? - Jay
3个回答

7

使用

pod 'RealmSwift', '~> 10.5.0'

他们已经为xcframework添加了支持。


2

我所做的是

在构建设置中将 BuildActiveArchitectureOnly 设置为 Yes。

还有

installer.pods_project.targets.each do |target|
      
      target.build_configurations.each do |config|
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
      end
    end

将我的 Realm 更新到最新版本。

回答来自: https://www.kproapps.com


2

虽然这不是一个完善的解决方案,但对于我的项目而言,以下步骤是有效的:

现在,当您为您的设备构建应用程序或存档时,请确保将其设置回No,或者使用不同的配置(例如:我将Debug设置为YesRelease设置为No)。


谢谢Sander,这看起来是一个不错的尝试。我在试用之后会让你知道。 - Kingsley Mitchell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接