Realm应用在设备上编译,但不在Xcode 12的模拟器上编译

时间:2020-10-14 14:22:26

标签: ios swift xcode realm cocoapods

我有一个Realm应用,该设备在设备和模拟器中都可以在Xcode 11中正常运行。我最近更新为Xcode 12,现在该应用程序无法在任何模拟器中编译,但可以在物理设备上正常运行。经过研究,我注意到Realm建议在您的Podfile中添加一些构建设置以排除arm64,因此我去添加了它,但仍然出现错误。

这是我做的更详细的事情。

原始Podfile如下

def shared_pods
    pod 'RealmSwift', '~> 3.18'
end

target 'MyApp' do
    use_frameworks!
    platform :ios, '10.0'

    shared_pods
    
    target 'MyAppTests' do
        inherit! :search_paths
    end
    
    target 'MyAppUITests' do
        inherit! :search_paths
    end
end

target 'MyApp Watch App' do
    use_frameworks!
    platform :watchos, '3.1'
    
    # Pods for MyApp Watch App
    shared_pods
end

target 'MyApp Watch App Extension' do
    use_frameworks!
    platform :watchos, '3.1'
    shared_pods
end

这是我逐步完成的工作。

  1. 我第一次在Xcode 12中编译了我的应用程序,但遇到了以下错误。

enter image description here

  1. 我将PodFile修改为Realm所建议的,在Podfile的末尾添加以下代码。

     post_install do |installer|
         installer.pods_project.targets.each do |target|
             target.build_configurations.each do |config|
                 config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
                 config.build_settings['EXCLUDED_ARCHS[sdk=watchsimulator*]'] = 'arm64'
                 config.build_settings['EXCLUDED_ARCHS[sdk=appletvsimulator*]'] = 'arm64'
             end
         end
     end
    
  2. 在终端机中,我输入了pod install

  3. 重新编译了我的项目,它摆脱了第一个错误,但现在显示了以下错误。

enter image description here

你知道现在怎么了吗?

1 个答案:

答案 0 :(得分:0)

在我将Realm升级到最新版本10.1.0并将cocoapods更新到1.10.0的情况下,解决了该问题,现在可以在模拟器上进行编译了。