Tôi đã có một dự án với một vài mục tiêu. Có một tệp xcconfig được liên kết với dự án và một số tệp xcconfig được liên kết với các mục tiêu.PodPxcconfig của CocoaPods 'mâu thuẫn với những cái hiện có
Bây giờ tôi muốn kết hợp thư viện của bên thứ ba thông qua CocoaPods. Sau $ pod install
CocoaPods đã làm hỏng dự án ban đầu vì nó liên kết tệp xcconfig riêng của mình Pds.xcconfig
với mục tiêu của dự án ban đầu. Điều này hoàn toàn bỏ qua và ghi đè các thiết lập được xác định trong xcconfig gốc liên quan đến dự án, và chuyển đổi tệp xcconfig gốc liên quan đến (các) đích. Do đó, dự án đã kết thúc hơi say.
Ví dụ, Cocoapods định nghĩa sau đây trong Pods.xcconfig
của nó được gắn liền với mỗi mục tiêu:
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
Tôi có configs khác nhau cho mỗi cấu hình, ví dụ cho gỡ lỗi tập tin cấu hình osx.debug.xcconfig
định nghĩa
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 DEBUG_LOG=2 __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
Cách tiếp cận hợp lý và khả thi để giải quyết xung đột như vậy là gì?
Chỉnh sửa:
Tôi đã tìm kiếm qua danh sách các vấn đề về CocoaPods trên GitHub. Dường như có một số lượng lớn các vấn đề liên quan đến tệp xcconfig, một số trong số chúng hơn 2 năm. Họ được thảo luận, và sau đó đóng cửa, nhưng - như nó xảy ra với tôi - vấn đề vẫn chưa được giải quyết.
IMHO, đây là vấn đề cơ bản và cơ bản: có dự án sử dụng tệp xcconfig. Sau đó, người ta muốn bao gồm một thư viện của bên thứ ba thông qua CocoaPods. Sau khi thực hiện pod install
, dự án bị hỏng.
Vì vậy, có chuyện gì với điều này?
Thật không may, các cài đặt xây dựng không thể mở rộng hoặc sửa đổi là điều thiết yếu: GCC_PREPROCESSOR_DEFINITIONS, HEADER_SEARCH_PATHS, OTHER_CFLAGS và OTHER_LDFLAGS. Thủ phạm cũng có thể là Xcode vì tệp xcconfig không thể xử lý các khai báo như vậy: 'HEADER_SEARCH_PATHS = $ (HEADER _SEARCH_PATHS) MyOtherIncludes'. Để làm cho công việc đó có thể sẽ phá vỡ hành vi hiện tại như thế nào Xcode của tập tin xcconfig cài đặt sửa đổi các cài đặt xây dựng cơ bản. – CouchDeveloper