Попередження Cocoapods - CocoaPods не встановив базову конфігурацію вашого проекту, оскільки у вашому проекті вже є встановлений набір конфігурацій


331

Після того як я виконую pod installна базі свого проекту, я отримую таку помилку:

CocoaPods не встановила базову конфігурацію вашого проекту, тому що ваш проект вже має власні налаштування конфігурації. Для інтеграції CocoaPods працювати на всіх, будь ласка , або встановити базові конфігурації мішені , BluePlaquesLondonFrameworkщоб Pods/Target Support Files/Pods/Pods.debug.xcconfigабо включати Pods/Target Support Files/Pods/Pods.debug.xcconfigв конфігурації збірки.

Це, мабуть, звучить як дурне питання, але як я можу встановити базову конфігурацію для цілі?

https://github.com/seanoshea/BluePlaquesLondon/blob/ios8/Podfile - це Podfile, який викликає цю проблему.

http://github.com/seanoshea/BluePlaquesLondon на гілці iOS 8 - це питання про Podfile, якщо вам цікаво подивитися, як виглядає проект.


2
Це трохи поза темою, але; Я просто хочу попередити вас про iOS-KML-Framework. Він використовує версію 1.5 TBXML, що трохи баггі. Якщо ви отримаєте неправильний XML у своєму каналі, ваш додаток вийде з ладу. Можливо, ви хочете зробити приватну вилку для iOS-KML-Framework, де вилучите "1.5" з підспеку та просто використовуйте HEAD TBXML. Це, здається, вирішує багато проблем.
churowa

Будь ласка, оновіть свою назву, щоб включити більше фактичного попередження. Наприклад: "CocoaPods не встановив попередження про конфігурацію".
Девід Джеймс

Оновлено заголовок @DavidJames. Раді змінити це ще раз, якщо ви вважаєте це трохи словесним, хоча.
seanoshea

4
Зараз це одне з найдовших назв, яке я бачив на stackoverflow.
Клаас

github.com/CocoaPods/CocoaPods/isissue/2633 має вдалий спосіб вирішити - встановіть усі конфігурації на "None", а потім запустіть "pod install"
Девід Айрапетян

Відповіді:


583

У мене була така ж проблема, але в Xcode 6.1.1 - для мене це вирішило змінити налаштування файлу конфігурації Noneна два цілі, пов'язані з Pods, а потім запустити pod installзнову.

Налаштування файлу конфігурації можна знайти, вибравши проект (не ціль), а потім вкладку Інформація.


144
Цей параметр визначається, вибравши проект (не ціль), а потім вкладку Інформація.
Грав

34
Це допомагає внести зміни, після чого закрити xcode, запустити pod install, а потім повторно відкрити. Не тримайте Xcode відкритим протягом цього часу.
Себастьян Рот

1
Це зафіксувало це для мене. мій конфігуратор вказував на старе ім'я xcconfig, яке змінилося, оскільки я додав два явні цілі у свій Podfile (один для основного proj, один для тестування), викликаючи генерацію нових файлів конфігурацій з різними іменами.
qix

10
Для тих, хто хвилювався так само, як я, що налаштування того, щоби Noneрозбити речі, подальше pod installрозбирає.
Матвій

4
де це налаштування в xcode 10? Пройшов усі вкладки, не зміг його знайти
JenonD

167

Не хитріть, скиньте.

Крок за кроком

  1. Показати Навігатор проектів
  2. Виберіть Проект
  3. Виберіть Info
  4. У Конфігураціях виберіть кожну, по одному (налагодження, ApplicationUnitTest, випуск тощо), і для кожної цілі в межах зазначеної конфігурації встановіть конфігурацію на " Немає" .
  5. Переконайтесь, що на основі файлу конфігурації читається 0 Набір конфігурацій або Немає конфігурацій для кожної конфігурації. Це суть. 0 Налаштування конфігурацій
  6. Закрити Xcode
  7. rm -rf Pods/ Podfile.lock ; pod install

Після того, як ви дозволите pod installза крок 7зробити свою магію, ви, можливо, зможете скористатися власною конфігурацією та змінити свої конфігурації.


10
це слід прийняти відповіддю, попереднє не було очевидним для мене ні.
Євгеній Клебан

Використання Podsконфігурації, як це було запропоновано в інших відповідях, не вирішити мою проблему в крапелькою: параметри збірки вже поєднуючи Pods.debug& Pods.release, яка була проблемою. Що було 0 Налаштування конфігурацій для кожної конфігурації. Не однакова відповідь ні на що.
SwiftArchitect

Це працювало і для мене. Зауважимо, що вам потрібно перейти від Цілі до Проектів, щоб побачити конфігурації. Я довго шукав це, поки не натрапив на спадне місце.
marty331

Я би проголосував за це сто разів, якби міг. Після 30 годин боротьби з процесом збирання Дженкінса після об'єднання 4 відділень розробників, додавши 3 розширення до додатку для iOS із спеціальними файлами конфігурації, бомбардуючи скрипт check маніфест.блока з какао-стручків, це остаточно вирішило проблему. (серед багатьох інших речей, але це було остаточним виправданням соломи). Привітання:
Огі

"[!] Неможливо визначити версію Swift для таких стручків:"
Річард

138

Зайдіть у XCode та відкрийте налаштування свого проекту та на вкладці Інформація ви побачите "Конфігурації", де ви можете встановити файл конфігурації як для налагодження, так і для випуску. Ви, мабуть, уже встановили їх на якусь власну конфігурацію, і CocoaPods бажає / потребує вас, щоб скористатися конфігурацією Pods.

Ось знімок екрана


7
Зауважте, що це не вирішує проблему, якщо вам потрібно використовувати спеціальний конфігурацію для реальної мети. Дивіться це відкрите питання .
funroll

1
У Xcode 6 нічого не змінилося, щоб зробити цю відповідь неправильною
кварк

Ще одне питання, але воно вирішило моє питання для мене. Використовував какао-стручки з тестами інтерфейсу, і ця річ врятувала мені життя! Дякую.
Акшит Завери

70

Зустрічався з тією ж проблемою. Він буде заснований на тренажері, але не на моєму пристрої. Жодна з відповідей не вирішила це для мене. Ось, що я зробив деякі відповіді разом:

  1. Змінив файл моїх стручків, щоб використовувати конкретну ціль:

    target :MyProject do
        pod 'AWSCognitoSync'
        pod 'Facebook-iOS-SDK'
    end
  2. Встановити стручок

  3. Це дає помилку: [!] 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. Перейдіть у налаштування проекту та натисніть на вкладку Інформація. Буде помилка, коли він не може знайти файл конфігурації. Встановіть його на "None" для налагодження та випуску.
  5. Ще раз запустіть установку pod
  6. Очистіть і побудуйте. Це працює.

1
Між кроками 4 та 5 я завжди закриваю xcode. У мене виникли проблеми, коли xcode працює під час встановлення pod.
Рей Хантер

Я просто натрапив на це, створюючи власні схеми. Вищезазначене також працює в Xcode 7. Я рекомендую @srayhunter поради щодо закриття Xcode під час встановлення.
subv3rsion

1
Я хотів би, щоб я міг проголосувати не раз. Це отримує мене щоразу.
Білл Берджесс

16

Ви також повинні переконатися, що у вас немає стручків у корені Podfile, ви повинні визначити всі стручки, які використовуються у багатьох таких цілях:

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

Вам також може знадобитися видалити libPods.aта libPods-app.aзалежати від цільових залежностей, виконати чистку та знову запустити pod install.


10

Я просто зіткнувся з цим питанням після додавання деяких конфігурацій побудови. Я міг бачити під:

Pods (target) > Target Support Files > Pods

що він фактично створив нові xcconfigфайли, які відповідали новим конфігураціям збірки, але я чомусь не міг вибрати їх у проектній цілі свого додатка.

Для мене це було встановлено та використовувати cocoapods-deintegrate :

gem install cocoapods-deintegrate

а потім запустіть:

pod deintegrate

далі:

pod install

2
Це мені допомогло.
Крішнан

7

Рядок у підфілі, що генерує проблему, є: link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework'].

Просто зробіть так: link_with ['BluePlaquesLondon'] або це (працював у моєму випадку, сподіваюся, що буде у ваших :-)):

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

Це прекрасно працювало для мене. У мене вже були налаштовані конфігурації Cocoapods відповідно до прийнятої відповіді, але я все ще бачив попередження. То чому це працює, коли link_with ['BluePlaquesLondon', 'BluePlaquesLondonFramework']немає?
churowa

6

Якщо ви додали власну конфігурацію збірки до свого існуючого проекту, Cocoapods скаржиться на це.

Cocoapods автоматично створюватиме файли xcconfig під каталогом Pods/Target Support Files/<build_target>за схемою іменування Pods-<build_target>.<build_config>.xcconfig.

Просто переконайтеся, що вручну додайте ці файли до свого проекту в Xcode (під каталогом Pods, але не всередині проекту Pods!). Після включення цих файлів виберіть проект у Xcode, перейдіть на вкладку "Інформація" та розгорніть власну конфігурацію. Виберіть відповідний файл xcconfig для кожної цілі під власною конфігурацією.


4

У мене була така ж помилка під час встановлення pod. Я спробував усе (перевстановити стручок, оновити всі дорогоцінні камені тощо), і я знайшов рішення, що працювало в моєму випадку. Виникла проблема через зміну назви цілі. У цьому випадку рішення просте:

  1. Клацніть Продукт -> Схема -> Керування схемами ...
  2. Клацніть на свою ціль у списку та видаліть її зі знаком "-" внизу вікна.
  3. Натисніть "+", щоб додати цільовий список до списку. Виберіть правильну ціль та ім’я.

Адже все має працювати.


3
  1. Додайте відповідні файли xcconfig до свого проекту. Cocoapods створили їх, але ви не можете встановити їх у Xcode, поки вони не будуть в проекті.
    • Ви, ймовірно, хочете додати їх до групи Pods, де є інші файли pods xcconfig. Клацніть правою кнопкою миші та додайте файли.
    • Шукайте файли xcconfig у вашій папці проекту або шукайте Pods/Target Support Files/[TARGET_NAME]/(у мене налаштовані різні cocoapods для кожної цілі (розширення та основний проект, це може дещо відрізнятися у вашому випадку)
  2. Перейдіть до конфігурацій проекту в Інфо вашого головного проекту
  3. Для кожної цілі та конфігурації встановіть відповідну конфігурацію стручків.
  4. pod install знову, і ви не бачите помилок.

3

Я перемістив стручки в Podfile назовні від цілі. Файлові зміни від цього:

# 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

До цього:

# 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

Якщо ви користуєтеся власною конфігурацією, ви можете дотримуватися пропозиції у попередженні та включити Pod-конфігурацію у свій конфігураційний файл

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

Це НЕ зупинить попередження, але дозволить вам використовувати вашу приватну конфігурацію (є відкрита помилка у попередженні для проекту CocoaPods) https://github.com/CocoaPods/CocoaPods/isissue/2633


2
Дякуємо, що додали відповідь, яка не приносить шкоди вашим поточним налаштуванням проекту.
Ден Леонард

1

Тож для мене проблема була пов'язана із зміною вищезгаданих імен файлів xcconfig до того, як відбулося оновлення Swift 3.

Щось не синхронізовано, тому Cocoapods створив розділ папки «Відновлені посилання» зі старими названими файлами та пов’язав їх.

Щоб виправити це, я:

  1. Видалено папку «Відновлені посилання» та містять старі файли .xcconfig з Xcode та файлової системи
  2. Закрити Xcode

  3. Запустіть установку pod

Після мене все вирішувалося, і попередження вже не було.


0

Мені вдалося створити проект, який торкнувся цього питання на XCode 6, шляхом:

  • вибір Проекту з Навігатора проектів
  • вибираючи Project замість Target
  • перейти на вкладку Інформація
  • вибираючи Pods. (налагодження / випуск) Конфігураційні файли з комбобоксу для відповідних Конфігурацій.

Сподіваюся, що це комусь допоможе.


0

Це сталося зі мною, тому що я вже мав конфігурацію Pod. Я новачок у розробці iOS, шукав інструкції щодо встановлення Alamofire + SwiftyJSON і не раз випадково інсталював бібліотеки. Для мене те, що працювало: у папці "Цільові файли підтримки" в проекті "Pods" я вибрав два правильні файли .xcconfig і перетягнув їх у папку "Pods" мого проекту програми. Це дозволило вибрати правильні файли конфігурації в базовій конфігурації.

Але тоді, якщо я знову запущу "pod install", попередження зміниться на попередній .xcconfig файл. Я намагаюся видалити файли та стару рамку з основного проекту, але коли я запустив попередню команду ще раз, мені дав те саме попередження та створив файл "Pods.framework" у папці "Pods" мого проекту програми. Я проігнорував це, і, здається, працює нормально, незважаючи на дві рамки. Я не знаю, чи правильно це, і рішення, якщо воно існує, було б вітано.


Це насправді не відповідає на питання. Якщо у вас інше питання, ви можете задати його, натиснувши Задати питання . Ви також можете додати щедрості, щоб привернути більше уваги до цього питання, як тільки у вас буде достатня репутація .
Петро Корієєв

Дякую за пояснення Петро. Я просто хотів поділитися результатом, який працював на мене (з попередженнями, але все ж), але в майбутньому я буду більш обережним.
Пабло

0

У мене виникла помилка:

diff: /../Podfile.lock: Немає такого файлу чи каталогу diff: /Manifest.lock: Немає такої помилки у файлі чи каталозі: пісочниця не синхронізується з Podfile.lock.

Я вперше витягнув запит з bitbucket. Я очистив свій проект і спробував усе (встановити pod, встановити оновлення тощо), але жоден із наведених відповідей не працював на мене. Потім я просто перевіряю шлях, де я встановлював стручок, і виправляв його та встановлював знову, він просто працював. Переконайтеся, що вкажіть шлях до того, де існують .xcodeproj або .xcworkspace (якщо він вже є). Можливо, хтось отримає від цього користь.


-2

Найпростіше рішення для цього (після виникнення цієї проблеми кілька разів):

  1. Видаліть Podfile & Podfile.lock з бібліотеки проектів (збережіть Podfile кудись, щоб ви могли легко вставити новий Podfile)
  2. запустити "pod init"
  3. Відредагуйте "Podfile" за своїм бажанням (додайте використовувані стручки)
  4. запустити "pod install"

Це дозволить відтворити все і працює завжди за лічені хвилини (не витрачаючи часу на те, щоб інженер змінив "помилку").

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.