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

时间:2017-06-09 02:19:35

标签: c++ ios xcode

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

Xcode 8中的项目没问题但现在我收到了这个错误:

No viable overloaded '='

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

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

2 个答案:

答案 0 :(得分:18)

如果您正在使用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

然后,保存文件并运行:

  

pod install

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

  

pod更新RealmSwift

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

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

答案 1 :(得分:7)

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

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

2.8.1的Realm发行说明明确指出:

  

添加对使用Xcode 9 Beta 1进行构建的支持。