Cảnh báo của Cocoapods - CocoaPods không đặt cấu hình cơ sở cho dự án của bạn vì dự án của bạn đã có bộ cấu hình tùy chỉnh


330

Sau khi tôi thực hiện một pod install tại cơ sở của dự án, tôi gặp lỗi sau:

CocoaPods không đặt cấu hình cơ sở cho dự án của bạn vì dự án của bạn đã có bộ cấu hình tùy chỉnh. Để tích hợp Cốc Cốc hoạt động hoàn toàn, vui lòng đặt cấu hình cơ bản của mục tiêu BluePlaquesLondonFrameworkthành Pods/Target Support Files/Pods/Pods.debug.xcconfighoặc bao gồm Pods/Target Support Files/Pods/Pods.debug.xcconfigtrong cấu hình bản dựng của bạn.

Điều này có vẻ giống như một câu hỏi ngớ ngẩn, nhưng làm cách nào để đặt cấu hình cơ sở cho mục tiêu?

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile là Podfile đang gây ra vấn đề này.

http://github.com/seanoshea/BluePlaquesLondon trên nhánh iOS 8 là Podfile trong câu hỏi nếu bạn tò mò muốn xem dự án trông như thế nào.


2
Đây là một chút lạc đề, nhưng; Tôi chỉ muốn cảnh báo bạn về iOS-KML-Framework. Nó sử dụng phiên bản 1.5 của TBXML, đây là một lỗi nhỏ. Nếu bạn nhận được XML không đúng định dạng trong nguồn cấp dữ liệu của mình, ứng dụng của bạn sẽ gặp sự cố. Bạn có thể muốn tạo một ngã ba riêng cho iOS-KML-Framework nơi bạn xóa '1,5' khỏi podspec và chỉ cần sử dụng ĐẦU của TBXML. Điều đó dường như để khắc phục rất nhiều vấn đề.
churowa

Vui lòng cập nhật tiêu đề của bạn để bao gồm nhiều cảnh báo thực tế. Ví dụ: "CocoaPods không đặt cảnh báo cấu hình".
David James

Đã cập nhật tiêu đề @DavidJames. Rất vui được thay đổi nó một lần nữa nếu bạn nghĩ rằng nó hơi dài dòng.
seanoshea 17/2/2015

4
Bây giờ nó là một trong những tựa game dài nhất tôi từng thấy trên stackoverflow.
Klaas

github.com/CocoaPods/CocoaPods/issues/2633 có một cách giải quyết tốt - đặt tất cả configs để None, sau đó chạy "Pod cài đặt"
David Airapetyan

Câu trả lời:


582

Tôi gặp vấn đề tương tự, nhưng trong Xcode 6.1.1 - điều đã khắc phục nó là thay đổi cài đặt tệp cấu hình thành Nonehai mục tiêu liên quan đến Pods, sau đó chạypod install lại.

Cài đặt tệp cấu hình được tìm thấy bằng cách chọn dự án (không phải mục tiêu) và sau đó là tab Thông tin.


144
Cài đặt này được tìm thấy bằng cách chọn dự án (không phải mục tiêu) và sau đó là tab Thông tin.
Grav

34
Nó giúp thực hiện thay đổi, tiếp theo là thoát xcode, chạy pod install, sau đó mở lại. Không mở Xcode trong thời gian đó.
Sebastian Roth

1
CÁi này đã sửa nó giúp tôi. Cấu hình của tôi đã trỏ đến một tên xcconfig cũ, nó đã thay đổi kể từ khi tôi thêm hai mục tiêu rõ ràng trong Podfile của mình (một cho proj một để thử nghiệm), tạo ra các tệp cấu hình mới với các tên khác nhau.
qix

10
Đối với những người có cùng lo lắng như tôi rằng việc cài đặt nó Nonesẽ phá vỡ mọi thứ .. những pod installthứ tiếp theo sẽ loại bỏ mọi thứ.
Matthew

4
Cài đặt này ở đâu trong xcode 10? Đã đi qua tất cả các tab, không thể tìm thấy nó
JenonD

165

Đừng tinker, thiết lập lại.

Từng bước một

  1. Hiển thị điều hướng dự án
  2. Chọn dự án
  3. Lựa chọn Info
  4. Trong Cấu hình , chọn từng cái, từng cái một (Gỡ lỗi, ApplicationUnitTest, Phát hành, v.v.) và đối với từng mục tiêu trong cấu hình đã nói, đặt cấu hình thành Không có .
  5. Đảm bảo rằng Dựa trên tệp cấu hình đọc 0 Đặt cấu hình hoặc Không đặt cấu hình cho từng cấu hình. Đó là mấu chốt. 0 Đặt cấu hình
  6. Thoát Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install

Một khi bạn đã cho phép pod installtrong bước 7để làm phép thuật của nó, bạn có thể sử dụng một cấu hình tùy chỉnh và thay đổi cấu hình của bạn.


10
Điều này nên được chấp nhận câu trả lời, trước đây tôi cũng không rõ ràng.
Evgeniy Kleban

Sử dụng Podscấu hình, như được đề xuất trong các câu trả lời khác, không giải quyết được vấn đề của tôi trong ít nhất: Cài đặt bản dựng đã khớp Pods.debugPods.releaseđó vấn đề. Những gì đã làm là 0 Cấu hình Đặt cho mỗi cấu hình. Không cùng một câu trả lời.
SwiftArchitect

Điều này cũng làm việc cho tôi. Chỉ cần lưu ý, bạn phải thay đổi từ Mục tiêu sang Dự án để xem Cấu hình. Tôi đã tìm kiếm điều này trong một thời gian dài cho đến khi tôi vấp phải sự cố.
marty331

Tôi sẽ bỏ phiếu này lên hàng trăm lần nếu tôi có thể. Sau 30 giờ chiến đấu với quá trình xây dựng Jenkins sau khi hợp nhất 4 nhánh nhà phát triển thêm 3 tiện ích mở rộng vào ứng dụng iOS với các tệp cấu hình tùy chỉnh, ném bom vào tập lệnh manifest.lock từ vỏ ca cao, điều này cuối cùng đã khắc phục được sự cố. (trong số rất nhiều thứ khác, nhưng đây là bản sửa lỗi rơm cuối cùng). : Chúc mừng:
Augie

"[!] Không thể xác định phiên bản Swift cho các nhóm sau:"
Richard

138

Đi vào XCode và mở cài đặt dự án của bạn và trong tab Thông tin, bạn sẽ thấy "Cấu hình" nơi bạn có thể đặt tệp cấu hình cho cả Gỡ lỗi và Phát hành. Rõ ràng là bạn đã đặt những thứ này thành một số cấu hình tùy chỉnh và CocoaPods muốn / cần bạn sử dụng cấu hình Pods.

Đây là một ảnh chụp màn hình


7
Lưu ý rằng điều này không giải quyết được vấn đề nếu bạn thực sự cần sử dụng cấu hình tùy chỉnh cho mục đích thực sự. Xem vấn đề mở này .
funroll

1
Không có gì thay đổi trong Xcode 6 để làm cho câu trả lời này không chính xác
quark

Một vấn đề khác nhưng nó đã giải quyết vấn đề của tôi cho tôi. Đã sử dụng vỏ ca cao với các bài kiểm tra giao diện người dùng và điều này đã cứu mạng tôi! Cảm ơn bạn.
Akshit Zaveri

69

Ran vào cùng một vấn đề. Nó sẽ được xây dựng trên trình giả lập nhưng không phải trên thiết bị của tôi. Không có câu trả lời nào giải quyết điều này cho tôi. Đây là những gì tôi đã làm một số câu trả lời cùng nhau:

  1. Đã thay đổi tệp nhóm của tôi để sử dụng một mục tiêu cụ thể:

    target :MyProject do
        pod 'AWSCognitoSync'
        pod 'Facebook-iOS-SDK'
    end
  2. Ran cài đặt

  3. Điều đó đưa ra một lỗi: [!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `MyProject` to `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` or include the `Pods/Target Support Files/Pods-MyProject/Pods-MyProject.debug.xcconfig` in your build configuration.
  4. Đi đến cài đặt dự án và nhấp vào tab Thông tin. Sẽ có một lỗi trong đó nó không thể tìm thấy tệp Cấu hình. Đặt nó thành "Không" cho Gỡ lỗi và Phát hành.
  5. Chạy cài đặt pod một lần nữa
  6. Làm sạch và xây dựng. Những công việc này.

1
Giữa các bước 4 và 5, tôi luôn đóng xcode. Tôi đã có vấn đề phát sinh khi xcode đang chạy trong khi cài đặt pod.
Ray Hunter

Chỉ cần chạy vào đây để tạo ra các chương trình tùy chỉnh. Ở trên cũng hoạt động trong Xcode 7. Tôi khuyên bạn nên khuyên @srayhunter về việc đóng Xcode trong khi cài đặt.
subv3rsion 7/10/2015

1
Tôi ước tôi có thể bỏ phiếu nhiều hơn một lần. Điều này được tôi mọi lúc.
Bill Burgess

16

Bạn cũng nên đảm bảo rằng bạn không có nhóm nào trong thư mục gốc Podfile, bạn nên xác định tất cả các nhóm được sử dụng trong nhiều mục tiêu như thế:

def shared_pods
  pod 'ReactiveCocoa', '~> 2.5'
end
target 'app' do
  shared_pods
  pod 'RestKit'
end
target 'tests' do
  shared_pods
  pod 'OCMock'
end

Bạn cũng có thể cần phải xóa libPods.alibPods-app.akhỏi các phụ thuộc đích, thực hiện xóa và sau đó chạy pod installlại.


10

Tôi chỉ gặp vấn đề này sau khi thêm một số cấu hình xây dựng tùy chỉnh. Tôi có thể thấy dưới đây:

Pods (target) > Target Support Files > Pods

rằng nó thực sự đã tạo ra các xcconfigtệp mới phù hợp với cấu hình bản dựng mới nhưng vì một số lý do tôi không thể chọn những tệp này trong mục tiêu dự án của ứng dụng.

Điều cố định với tôi là cài đặt và sử dụng cocoapods-deintegrate :

gem install cocoapods-deintegrate

và sau đó chạy:

pod deintegrate

theo dõi bởi:

pod install

2
Điều này đã giúp tôi.
Krishnan

7

Dòng trong podfile đang tạo ra sự cố là: link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework'].

Chỉ cần tạo cái này: link_with ['BluePlaquesLondon'] hoặc cái này (hoạt động trong trường hợp của tôi, hy vọng nó sẽ thuộc về bạn :-)):

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

xcodeproj 'BluePlaquesLondon.xcodeproj'
inhibit_all_warnings!
link_with ['BluePlaquesLondon']

def import_pods

     pod 'TTTAttributedLabel', '~> 1.10.1'
     pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.9'
     pod 'Google-Maps-iOS-SDK'
     pod 'IntentKit'
     pod 'HCViews'
     pod 'SVProgressHUD', :head
     pod 'iRate'
     pod 'iOS-KML-Framework', :git => 'https://github.com/FLCLjp/iOS-KML-Framework.git'

end

import_pods

target "BluePlaquesLondonFramework" do
    import_pods
    pod 'Kiwi'
end

Điều này làm việc rất đẹp cho tôi. Tôi đã có các cấu hình Cocoapods được đặt theo câu trả lời được chấp nhận, nhưng vẫn thấy cảnh báo. Vậy tại sao điều này hoạt động, khi link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework']không có?
churowa

6

Nếu bạn đã thêm cấu hình bản dựng tùy chỉnh vào dự án hiện tại của mình, Cocoapods sẽ phàn nàn về nó.

Cocoapods sẽ tự động tạo các tệp xcconfig trong thư mục Pods/Target Support Files/<build_target>theo mẫu đặt tên Pods-<build_target>.<build_config>.xcconfig.

Chỉ cần đảm bảo thêm thủ công các tệp đó vào dự án của bạn trong Xcode (trong thư mục Pods, nhưng không nằm trong dự án Pods!). Khi các tệp đó được bao gồm, hãy chọn dự án của bạn trong Xcode, chuyển đến tab "Thông tin" và mở rộng cấu hình tùy chỉnh của bạn. Chọn tệp xcconfig thích hợp cho từng mục tiêu trong cấu hình tùy chỉnh của bạn.


4

Tôi đã có cùng một lỗi trong khi cài đặt pod. Tôi đã thử mọi thứ (cài đặt lại pod, cập nhật tất cả các loại đá quý, v.v.) và tôi thấy giải pháp hoạt động trong trường hợp của mình. Có vấn đề vì thay đổi tên của mục tiêu. Trong trường hợp này, giải pháp rất đơn giản:

  1. Nhấp vào Sản phẩm -> Lược đồ -> Quản lý lược đồ ...
  2. Nhấp vào mục tiêu của bạn trong danh sách và xóa nó bằng dấu "-" ở dưới cùng của cửa sổ.
  3. Nhấp vào "+" để thêm mục tiêu trở lại danh sách. Chọn mục tiêu và tên chính xác.

Sau tất cả mọi thứ nên hoạt động.


3
  1. Thêm các tệp xcconfig có liên quan vào dự án của bạn. Cocoapods sẽ tạo ra chúng nhưng bạn không thể đặt chúng trong Xcode cho đến khi chúng nằm trong dự án.
    • Bạn có thể muốn thêm chúng vào nhóm Pods nơi chứa các tệp xcconfig của các nhóm khác. Nhấp chuột phải và thêm tập tin.
    • Tìm kiếm các tệp xcconfig trong thư mục dự án của bạn hoặc tìm trong Pods/Target Support Files/[TARGET_NAME]/(Tôi có các cocoapod khác nhau được định cấu hình cho từng mục tiêu (phần mở rộng và dự án chính có thể hơi khác trong trường hợp của bạn)
  2. Chuyển đến cấu hình dự án trong Thông tin về dự án chính của bạn
  3. Đối với mỗi mục tiêu và cấu hình, đặt cấu hình nhóm thích hợp.
  4. pod install một lần nữa và bạn sẽ thấy không có lỗi.

3

Tôi đã di chuyển các pod trong Podfile ra ngoài mục tiêu. Thay đổi tập tin từ đây:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'MyProject' do

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

end

Về điều này:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
use_frameworks!

pod 'Firebase', '>= 2.5.0'
pod 'Onboard'
pod 'GoogleMaps'
pod 'IQDropDownTextField'

target 'MyProject' do

end

2

Trong trường hợp bạn đang sử dụng cấu hình tùy chỉnh, bạn có thể làm theo gợi ý trong cảnh báo và đưa cấu hình Pod vào tệp cấu hình của bạn

     #include "Pods/Target Support Files/Pods-YYY/Pods-YYYY.develop-archive.xcconfig"

Điều này sẽ KHÔNG dừng các cảnh báo nhưng sẽ cho phép bạn sử dụng cấu hình riêng tư của mình (có một lỗi mở trong cảnh báo với dự án CocoaPods) https://github.com/CocoaPods/CocoaPods/issues/2633


2
Cảm ơn vì đã thêm một câu trả lời không hy sinh thiết lập dự án hiện tại của bạn.
Dan Leonard

1

Vì vậy, đối với tôi, vấn đề là do tên tệp xcconfig đã nói ở trên bị thay đổi trước khi cập nhật Swift 3 diễn ra.

Một cái gì đó không đồng bộ, vì vậy Cocoapods đã tạo phần thư mục 'Tài liệu tham khảo được khôi phục' với các tệp có tên cũ và được liên kết với chúng.

Để khắc phục điều này, tôi:

  1. Đã xóa thư mục 'Tài liệu tham khảo đã phục hồi' và các tệp .xcconfig cũ có chứa khỏi Xcode và hệ thống tệp
  2. Thoát Xcode

  3. Chạy cài đặt pod

Mọi thứ đã được xử lý cho tôi sau đó, và các cảnh báo đã biến mất.


0

Tôi đã có thể xây dựng dự án do vấn đề này trên XCode 6 bằng cách:

  • chọn Project từ Project Navigator
  • chọn dự án thay vì mục tiêu
  • đi tới tab Thông tin
  • chọn Pods. (gỡ lỗi / phát hành) Tệp cấu hình từ hộp tổ hợp cho Cấu hình tương ứng.

Hy vọng điều này sẽ giúp được ai đó.


0

Điều này xảy ra với tôi vì tôi đã có cấu hình Pod. Tôi mới phát triển iOS, đã tìm kiếm hướng dẫn để cài đặt Alamofire + SwiftyJSON và cuối cùng vô tình cài đặt các thư viện nhiều lần. Đối với tôi, điều làm việc là: trên thư mục "Tệp hỗ trợ đích" trong dự án "Pods", tôi đã chọn hai tệp .xcconfig chính xác và kéo chúng vào thư mục "Pods" của dự án ứng dụng của tôi. Điều này cho phép lựa chọn các tệp cấu hình chính xác trên cấu hình cơ sở.

Nhưng sau đó, nếu tôi chạy lại "pod install", cảnh báo sẽ thay đổi thành tệp .xcconfig trước đó. Tôi cố gắng xóa các tệp và khung cũ khỏi dự án chính nhưng khi tôi chạy lệnh trước đó một lần nữa, đưa ra cảnh báo tương tự và tạo tệp "Pods.framework" trong thư mục "Pods" của dự án ứng dụng của tôi. Tôi bỏ qua nó, và nó dường như đang chạy tốt, mặc dù có hai khung. Tôi không biết nếu nó đúng, và một giải pháp, nếu tồn tại, nó sẽ được hoan nghênh.


Điều này không thực sự trả lời câu hỏi. Nếu bạn có một câu hỏi khác, bạn có thể hỏi nó bằng cách nhấp vào Đặt câu hỏi . Bạn cũng có thể thêm tiền thưởng để thu hút sự chú ý hơn cho câu hỏi này một khi bạn có đủ danh tiếng .
Petro Korienev 04/11/2015

Cảm ơn lời giải thích của Petro. Tôi chỉ đơn giản muốn chia sẻ kết quả làm việc cho tôi (với các cảnh báo, nhưng vẫn), nhưng tôi sẽ cẩn thận hơn trong tương lai.
Pablo

0

Tôi đã có lỗi:

diff: /../Podfile.lock: Không có tệp hoặc thư mục như vậy diff: /Manifest.lock: Không có lỗi tệp hoặc thư mục như vậy: Hộp cát không đồng bộ với Podfile.lock.

Tôi đã kéo yêu cầu từ bitbucket lần đầu tiên. Tôi đã làm sạch dự án của mình và thử mọi thứ (cài đặt pod, cập nhật pod, v.v.) nhưng không có câu trả lời nào ở trên làm việc cho tôi. Sau đó, tôi chỉ cần kiểm tra đường dẫn nơi tôi đang cài đặt pod và sửa nó và cài đặt lại, Nó chỉ hoạt động. Đảm bảo cung cấp đường dẫn ngay trước khi tồn tại .xcodeproj hoặc .xcworkspace (nếu nó đã có). Có thể là một người được hưởng lợi từ điều này.


-2

Giải pháp đơn giản nhất cho việc này (sau khi gặp sự cố này nhiều lần):

  1. Xóa Podfile & Podfile.lock khỏi thư viện dự án của bạn (lưu Podfile ở đâu đó để bạn có thể dễ dàng dán vào Podfile mới)
  2. chạy 'pod init'
  3. Chỉnh sửa 'Podfile' theo ý muốn của bạn (thêm các nhóm bạn đang sử dụng)
  4. chạy 'cài đặt pod'

Điều này sẽ tạo lại mọi thứ và hoạt động luôn trong vài phút (không dành thời gian để đảo ngược "lỗi").

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.