При установке Flutter pod создается неверный путь для файлов .xcconfig - PullRequest
0 голосов
/ 07 июля 2019

У меня проблемы с интеграцией флаттера в моем существующем приложении для iOS (swift),

в соответствии с документами, чтобы добавить флаттера пользователя, я добавил это в свой файл pod:

flutter_application_path = 'my_flutter_module/'
eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)

Затем я запускаю pod install, и все работает нормально, мне удается установить мое приложение, а также архивировать, но когда мой CI / CD-сервер запускает сборку, каждый раз происходит сбой, при погружении в журналы я обнаружил, что скрипты флаттера генерируют код навсе файлы .xcconfig, которые выглядят так:

#include "/Users/my_name/my_project_name/my_flutter_module/.ios/Flutter/Generated.xcconfig"

, этот путь относительно моей машины, но я ожидаю, что путь будет выглядеть как

#include "${PODS_xxx}/my_flutter_module/.ios/Flutter/Generated.xcconfig"

после еще нескольких копаний, которыми я управляючтобы найти скрипт, который сгенерирует это по адресу:

/Users/my_name/flutter/packages/flutter_tools/templates/module/ios/library/Flutter.tmpl/podhelper.rb 


// CODE
post_install do |installer|
installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['ENABLE_BITCODE'] = 'NO'
        next if  config.base_configuration_reference == nil
        xcconfig_path = config.base_configuration_reference.real_path
        File.open(xcconfig_path, 'a+') do |file|
            file.puts "#include \"#{File.realpath(File.join(framework_dir, 'Generated.xcconfig'))}\""
        end
    end
  end 
end

Я попытался изменить его, но после установки модуля pod ничего не изменилось, любая помощь будет признательна.

обратите внимание, что я использую .gitignore из здесь

и все мои разработки / другие модули получают неправильный локальный путь, как этот (мой модуль Firebase):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...