2016-04-16 18 views
25

Sử dụng Carthage để quản lý các phụ thuộc của tôi, mọi thứ đều chạy tốt trong trình mô phỏng.Tệp mô-đun được tạo bởi phiên bản cũ hơn của trình biên dịch

Tuy nhiên, khi xây dựng cho một thiết bị tôi nhận được lỗi sau:

enter image description here

Module File was created by an older version of the compiler; rebuild Alamofire and try again: .../DerivedData/Build/Products/Debug-iPhones... 

Tôi đã thử những gì người khác gợi ý đến các vấn đề tương tự: xóa dữ liệu thu được của tôi, cài đặt lại Carthage và xây dựng lại các khuôn khổ . Tuy nhiên, lỗi đã được liên tục.

+0

Bạn đang sử dụng nhiều hơn một Xcode trên máy Mac của bạn? –

+0

@RahulKatariya Không, chỉ phiên bản chính thức mới nhất của Xcode (không phải beta) – vikzilla

+0

Bạn thấy gì khi chạy xcode-select -p? Nó nên được chỉ vào Xcode 7 nếu bạn muốn sử dụng các khung trong Xcode 7. –

Trả lời

33

Bạn đang sử dụng đúng phiên bản xcodebuild? Bạn thấy gì khi chạy xcode-select -p? Nên chỉ vào Xcode 7 nếu bạn muốn sử dụng các khuôn khổ trong Xcode 7.

Hủy bỏ tất cả các dữ liệu lấy được rm -rf ~/Library/Developer/Xcode/DerivedData/ && carthage build

Ngoài ra, Khi bạn sử dụng carthage updatemà không --no-use-binaries tùy chọn sau đó nó tải xuống các khung dựng sẵn có thể được xây dựng bằng phiên bản cũ của xcodebuild.

Cách khác là sử dụng carthage update --no-use-binaries. Bằng cách này, nó sẽ biên dịch tất cả các khung công tác với phiên bản Xcode mới nhất được cài đặt trên máy Mac của bạn.

+0

Tôi làm theo các bước này (sử dụng xây dựng carthage) và nó được xây dựng thành công. – vikzilla

+0

Cảm ơn bạn, đã làm việc cho tôi. Nhưng, vì tôi đang sử dụng CocoaPods thay vì Carthage, tôi phải thực hiện 'pod deintegrate' và' pod update' để cài đặt lại các khung công tác. – Pablo

0

Bạn có thể thử xây dựng lại khung bằng dòng lệnh:

  • Mở Terminal
  • dự án cd/thư mục
  • carthage xây dựng

sau đó làm sạch các dự án xcode và chạy!

1

Tôi đang sử dụng cocoapods.I chỉ cần nhấp chuột phải vào khung sai, hiển thị nó trong Trình tìm kiếm, xóa nó và xây dựng lại dự án, giải quyết vấn đề.

-1

Tôi đã hoàn nguyên tình huống cho cùng một thông báo lỗi. Thư viện của tôi từ Carthage được xây dựng chính xác. Thay vào đó tôi phải vô hiệu hóa tùy chọn Sử dụng Legacy Swift Language Version và tôi đặt NO: Build Settings for Target

+0

Điều này không có ý nghĩa gì cả.Di sản là cần thiết theo Thread Starter. – nottinhill

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