2016-09-23 27 views
16

Tôi đang cố gắng để cài đặt Cocoalumberjack như một pod và đang nhận được lỗi này:Cocoa lỗi cài đặt pod: "Mục tiêu đè SWIFT_VERSION thiết xây dựng"

The ProjectName [Release] target overrides the SWIFT_VERSION build setting defined in `Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release.xcconfig'. This can lead to problems with the CocoaPods installation

File pod xcconfig chứa này:

SWIFT_VERSION = 3.0 

Nhưng dự án của tôi đã sử dụng nhanh chóng 3. vì vậy tôi không hiểu tại sao có sự không khớp này.

xcrun swift -version

Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38)

Tuy nhiên tôi không thể nhìn thấy một SWIFT_VERSION nói riêng bất cứ nơi nào trong cài đặt build Xcode của, cũng không nếu tôi gõ nhanh chóng như các thuật ngữ tìm kiếm trong môi trường xây dựng của Xcode tôi có thể nhìn thấy bất cứ điều gì bất cứ nơi nào mà thậm chí trông giống như một số phiên bản nhanh chóng

Ngoài ra cài đặt nhóm tiếp tục nói: "Sử dụng cờ $(inherited)" để giải quyết sự cố. Tuy nhiên các thiết lập Xcode của tôi, các cờ liên kết khác đã có cờ $ (được kế thừa) này, vậy tại sao lại không giải quyết được vấn đề?

(Xcode 8)

+0

cùng một vấn đề với tôi trên Xcode 8 –

Trả lời

12

Nó là một chút phi trực giác, nhưng những gì bạn phải làm là:

1) Tìm kiếm "SWIFT_VERSION" trong cài đặt dự án của bạn

2), bạn sẽ thấy một mục nói "Sử dụng Legacy Swift Phiên bản ngôn ngữ"

  • Nếu bạn đã chọn bất kỳ giá trị nó sẽ được hiển thị trong BOLD

3) Chọn mục (không phải là giá trị) và nhấn "DELETE", độ đậm sẽ biến mất.

4) Lặp lại các bước tương tự nhưng bây giờ cho mục tiêu của bạn (một với các biểu tượng ứng dụng)

5) Đóng XCode

6) Run "pod cài đặt" một lần nữa

7) Thu gọn dự án của bạn và CLEAN IT (Shift + Command + K)

Bây giờ nó sẽ hoạt động chính xác.

LƯU Ý:

Cụ thể cho "Cocoalumberjack" đảm bảo rằng bạn đang cài đặt nhóm 3.0+ phiên bản, nếu nó không chạy một "cập nhật sudo pod" như các phiên bản trước đó để điều này sẽ không làm việc với Swift 3.

EDIT:

Tôi khá chắc chắn rằng cocoapods xử lý của việc này là một chút buggy tại thời điểm này, như tôi đã có kinh nghiệm đôi khi nó hoạt động và những người khác nó không. Tuy nhiên, hãy nhớ rằng bạn có thể đặt cờ "SWIFT_VERSION" trực tiếp trên cơ sở theo khung:

1) Chọn dự án Nhóm (trong dự án của bạn).

2) Chọn mục tiêu bạn muốn đặt và tìm cờ "SWIFT_VERSION" riêng cho mục tiêu đó.

3) Làm sạch và xây dựng lại.

+0

Làm cách nào mà bạn tìm ra giải pháp đó? làm tốt!!! kinh ngạc. các hướng dẫn 7 bước đã làm việc cho tôi. Xảy ra khi cài đặt Lumberjack + swift + pods. – nurxyz

1

Bạn cần xóa mọi cài đặt xây dựng "Sử dụng phiên bản ngôn ngữ lập trình nhanh cũ" được ghi đè khỏi mục tiêu của mình.

0

Điều đó không thực sự hữu ích vì không có cách nào để xóa nó.

Bạn có thể kế thừa giá trị hoặc gán giá trị và không có cách nào lấy lại giá trị $ (kế thừa) sau khi gán do cách giao diện người dùng được xây dựng trên xcode (trên một số tùy chọn bạn có "tùy chỉnh" giá trị mà bạn có thể thêm này, nhưng không phải trên tất cả các loại giá trị).

Vì vậy, đó là loại kết thúc chết mà không có giải pháp thực sự nào.

+0

có, xem câu trả lời của tôi. – Pochi

+0

Có, điều này sẽ khắc phục vấn đề, mặc dù UX của nó là £ $% $ £% £% £. –

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