1

i have issues with integrating flutter in my existing iOS(swift) application,

according to the docs in order to user flutter i added this in my pod file:

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

i then run pod install and everything works fine, i manage to install my app and also to archive, but when my CI / CD server run the build it failed every time, when diving into the logs i identified that the flutter scripts generated code on all the .xcconfig files that looks like this

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

this path is relative to my machine, but i expect that the path's will look like

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

after some more digging i manage to find the script that generate this at:

/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

i tried to modify it but there was no affect after pod install, any help will be appreciate.

note that i use the .gitignore from here

and all my development / other pods gets the wrong local path like this(my firebase pod):

enter image description here

Bar
  • 603
  • 1
  • 7
  • 19

0 Answers0