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



我只是安装 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);

如果您使用的是 Cocoapods,请打开 Podfile 并将 RealmSwift 版本设置为 2.8.1(或上面提到的 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 版本(我推荐(,请运行以下命令:

pod update RealmSwift

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

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

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 构建的支持。

最新更新