2013-08-29 3 views
3

В моем проекте iOS 4.3 есть цель развертывания.Cocoapods смешивают стручки с различными целями развертывания

Все мои библиотеки поддерживают 4.3, но я также хочу включить, не заботясь о том, чтобы не использовать его классы на iOS 4.3 устройствах.

Я попытался с помощью target опции на моей Podfile следующим образом:

platform :ios, '4.3' 
pod 'NBUCore' 

target :MyApp do 
    platform :ios, '5.0' 
    pod 'PEPhotoCropEditor' 
end 

который создает обычную libPods.a с NBUCore и новым libPods-MyApp.a с PEPhotoCropEditor, как правильно связан с MyApp.

Проблема заключается в том, что есть два .xcconfig файлы, Pods.xcconfig и Pods-MyApp.xcconfig, но только один из них получает активированные Cocoapods и, таким образом, связь не удается, потому что каждый из них имеет неполную OTHER_LDFLAGS.

Я пробовал с target :test, :exclusive => true и false.

Вне курса Я мог бы вручную изменить их, использовать оба или добавить $(inherited) флаги. Но тогда Кокоаподы должны позаботиться об этом. Или, может быть, мой синтаксис подфайла неправильный?

Редактировать: Оказывается, также необходимо объединить также «Копировать ресурсы Pods» как для Pods, так и для Pods-MyApp.

ответ

1

Это не представляется возможным с текущими Cocoapods (подал вопрос here).

решение сейчас, чтобы отделить стручки от цели развертывания:

platform :ios, '4.3' 
pod 'NBUCore' 

target :MyApp do 
    platform :ios, '5.0' 
    pod 'PEPhotoCropEditor' 
end 

Затем «сливаются» в .xcconfig файлы.

Наконец добавить сценарии всех ресурсов к „Копировать стручки ресурсы“:

"${SRCROOT}/Pods/Pods-resources.sh" 
"${SRCROOT}/Pods/Pods-MyApp-resources.sh" 
0

Я не думаю, что можно делать то, что вы хотите. Вы можете, однако, скопировать PEPhotoCropEditor's Podfile в свой проект и изменить s.ios.deployment_target = '5.0' на s.ios.deployment_target = '4.3'.

Тогда в вашем Podfile, вместо

pod 'PEPhotoCropEditor' 

сделать

pod 'PEPhotoCropEditor', :path => "CustomPodspec.podspec" 
+0

Однако некоторые зависимости стручок все еще может быть iOS5 +. Также я могу изменить свою платформу Podfile на «5.0» и продолжать использовать ее с осторожностью из моего проекта iOS 4.x, но тогда могут возникнуть другие проблемы, так как зависимости будут решены. – Rivera