Xcode9领域错误 - 没有可行的重载'='

Jon*_*one 14 c++ xcode ios

我只是安装Xcode 9并构建我的原生iOS项目.(写得很快)

该项目在Xcode 8中没问题,但现在,我得到了这个错误:

No viable overloaded '='

在文件中:Pods\Pods\Realm\object.cpp

第42行=> m_notifier = std::make_shared<_impl::ObjectNotifier>(m_row, m_realm);

ant*_*rte 19

如果您正在使用Cocoapods,请打开Podfile并将RealmSwift版本设置为2.8.1(或David上面提到的2.8.3).这是我使用Xcode 9的Swift 3.0的Podfile:

target ‘<PROJECT>’ do
  use_frameworks!

  # Pods
  ...
  pod 'RealmSwift', '2.8.1'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.0'
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

然后,保存文件并运行:

pod安装

如果您没有设置特定的pod版本(我建议),请运行以下命令:

pod更新RealmSwift

它会自动更新到最新版本(2.8.3).

希望有助于补充大卫的答案.谢谢!


Dav*_*ier 7

Realm团队开发了一个新版本,允许您使用XCode 9构建项目.只需更新您的Realm版本2.8.1(当前版本为2.8.3)

https://github.com/realm/realm-cocoa/releases/tag/v2.8.1

Realm发行说明2.8.1明确指出:

添加对Xcode 9 Beta 1构建的支持.