Подтвердить что ты не робот

Ссылка на файл CocoaPods является членом нескольких групп

У меня есть приложение с расширением share. Мое приложение зависит от CocoaLumberjack/Default, а расширение моего ресурса зависит от CocoaLumberjack/Core. Когда я создаю с помощью use_frameworks!, я получаю следующую ошибку:

$ rm -rf Pods Podfile.lock; pod install
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing CocoaLumberjack (2.0.3)
Generating Pods project

2015-10-28 10: 46: 04.015 рубин [53095: 3440989] предупреждение: файл ссылка для "CocoaLumberjack.framework" является членом нескольких группы ( "Продукты" и "Продукты" ); это указывает на неправильный проект. Будет сохранено только членство в одной из групп (но членство в целевых задачах не будет затронуто). Если вы хотите ссылку на один и тот же файл в более чем одной группе, добавьте еще один ссылку на тот же путь.

Integrating client project
Sending stats
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 1 total
pod installed.

[!] [Xcodeproj] Generated duplicate UUIDs:

PBXFileReference - /mainGroup/children/children:displayName:CocoaLumberjack.framework,explicitFileType:wrapper.framework,includeInIndex:0,isa:PBXFileReference,name:CocoaLumberjack.framework,path:CocoaLumberjack.framework,sourceTree:BUILT_PRODUCTS_DIR,displayName:CocoaLumberjack.framework, explicitFileType: wrapper.framework, includeInIndex: 0, иш: PBXFileReference, имя: CocoaLumberjack.framework, путь: CocoaLumberjack.framework, sourceTree: BUILT_PRODUCTS_DIR, отображаемое_имя Pods_MyProject.framework, explicitFileType: wrapper.framework, includeInIndex: 0, иш: PBXFileReference, имя: Pods_MyProject.framework, путь: Pods_MyProject.framework, sourceTree: BUILT_PRODUCTS_DIR, отображаемое_имя Pods_MyShare.framework, explicitFileType: wrapper.framework, includeInIndex: 0, иша: PBXFileReference, имя: Pods_MyShare.framework, путь: Pods_MyShare.framework, sourceTree: BUILT_PRODUCTS_DIR, DISPLAYNAME: Продукты, иш: PBXGroup, имя: Продукты, sourceTree:,/Продукция/дети/отображаемое_имя CocoaLumberjack.framework, explicitFileType: wrapper.framework, includeInIndex: 0, иш: PBXFileReference, имя: CocoaLumberjack.framework, путь: CocoaLumberjack.framework, sourceTree: BUILT_PRODUCTS_DIR,/Продукты/CocoaLumberjack.framework

Это мой Podfile:

workspace 'MyWorkspace'
xcodeproj 'MyProject/MyProject.xcodeproj'

use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'

link_with 'MyProject', 'MyShare'

target :MyProject do
  pod 'CocoaLumberjack', '~> 2.0.1'
end

target :MyShare do
  pod 'CocoaLumberjack/Core', '~> 2.0.1'
end

Мне удалось обойти эту проблему, заставив обе мои цели использовать один и тот же подтип CocoaLumberjack. Моя работа Podfile ниже:

workspace 'MyWorkspace'
xcodeproj 'MyProject/MyProject.xcodeproj'

use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'

link_with 'MyProject', 'MyShare'

target :MyProject do
  pod 'CocoaLumberjack/Core', '~> 2.0.1'
end

target :MyShare do
  pod 'CocoaLumberjack/Core', '~> 2.0.1'
end

Почему это обходное решение необходимо? Что происходит, когда у меня есть разные зависимости между отдельными объектами между двумя целями?

ИЗМЕНИТЬ

Это выглядит как CocoaPods Issue 4370. Я разместил свой проект на github.

4b9b3361

Ответ 1

Это ошибка в Cocoapods. Вероятно, она не будет исправлена ​​в течение долгого времени.

Запуск export COCOAPODS_DISABLE_DETERMINISTIC_UUIDS=YES на Терминале, похоже, сейчас подавляет предупреждения.

EDIT Февраль 2016:

В последней версии Cocoapod теперь это перемещено в раздел установки подфайла: install! 'cocoapods', :deterministic_uuids => false

Ответ 2

Я обнаружил эту ошибку при добавлении расширения приложения.

Я исправил это, повторяя строку platform :ios, '7.0', присутствующую в моем приложении, и мою новую цель.

Убедившись, что две цели используют одну и ту же платформу, я решил проблему.

Ответ 3

Проблема была устранена для меня следующими шагами: (Я также внес изменения в соответствии с предложенным @ale0xB)

  1. Очистить проект
  2. Закройте Xcode
  3. Удалить производные данные
  4. Если вы уже установили POD, удалите ".xcworkspace" & Файлы Podfile.lock
  5. Установите модуль снова
  6. Откройте ".xcworkspace" и запустите