2017-06-09 13 views
12

Tôi chỉ cài đặt Xcode 9 và tạo dự án iOS gốc của mình. (Được viết bằng nhanh chóng) dự ánLỗi trường hợp Xcode9 - Không có quá tải có thể tồn tại ‘=’

Các là OK trong Xcode 8 nhưng bây giờ, tôi có được lỗi này:

No viable overloaded '='

Trong file: Pods \ Pods \ Realm \ object.cpp

Dòng 42 =>m_notifier = std::make_shared<_impl::ObjectNotifier>(m_row, m_realm);

+0

Loại '' 'm_notifier''' là gì? Nó có thể là lớp cơ sở không đúng cách quá tải toán tử = – mutantkeyboard

+0

cảm ơn bạn đã trả lời.Type là '_impl :: CollectionNotifier :: Handle <_impl :: ObjectNotifier> m_notifier;' trong lớp 'Object'. – Jone

Trả lời

4

đội Realm đã làm việc trên một phiên bản mới cho phép bạn xây dựng các dự án của bạn với XCode 9. Chỉ cần cập nhật phiên bản Realm của bạn ít nhất 2.8.1 (cu phiên bản rrent là 2.8.3)

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

The Realm phát hành lưu ý của 2.8.1 nêu rõ:

Add support for building with Xcode 9 Beta 1.

11

Nếu bạn đang sử dụng Cocoapods, mở ra Podfile và thiết lập các phiên bản RealmSwift đến 2.8.1 (hoặc 2.8.3 như David đã đề cập ở trên). Dưới đây là Podfile tôi cho Swift 3.0 sử dụng Xcode 9:

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 

Sau đó, lưu các tập tin và chạy:

pod install

Nếu bạn không thiết lập một phiên bản pod cụ thể (mà tôi đề nghị), chạy lệnh sau:

pod update RealmSwift

và nó sẽ tự động cập nhật lên phiên bản mới nhất (2.8.3).

Hy vọng nó sẽ giúp bổ sung cho câu trả lời của David. Cảm ơn!

Các vấn đề liên quan