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

конец

0 ответов

Другие вопросы по тегам