У меня есть приложение с расширением 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.