cocoapods 0.38.2 Хук post_install не может обновить мои макросы препроцессора?
Я добавил конфигурацию (adhoc) для моего проекта XCode (предположим, что имя Flurry), и я хочу добавить GCC_PREPROCESSOR_DEFINITIONS
к этой конфигурации, как DEBUG. Я сделал это с помощью ловушки pro_install. Я добавил следующий код:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.name == "Adhoc"
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << "ADHOC"
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << "ADHOC=1"
end
end
end
конец
Потому что я использую cocoapods 0.38.2, поэтому мне нужно использовать pods_project
вместо project
,
Код хорошо работает с целями, которые генерируются кокоподобными объектами, такими как AFNetworking, Pods-Flurry и всеми сторонними фреймворками. Но это не изменило мой проект,Flurry. Поэтому препроцессор marco ADHOC не работал, когда я использовал следующий код:
#ifdef ADHOC
NSLog(@"do something here");
#endif
Итак, как я могу добавить препроцессор marco в мою конфигурацию adhoc с помощью перехвата post_install.
Кстати, код ниже работает на более старой версии, например 0.37.1:
Есть только одно отличие pods_project и project
post_install do |installer|
installer.project.targets.each do |target|
target.build_configurations.each do |config|
if config.name == "Adhoc"
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << "ADHOC"
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << "ADHOC=1"
end
end
end
конец