iosflutterpodfilecodemagic

Build error on codemagic while ios deployment


I am working on a flutter app and I do not have a mac. So I am using codemagic to deploy the app for ios.

While building I received this error-

Error output from CocoaPods: ↳

[!] Automatically assigning platform iOS with version 11.0 on target Runner because no platform was specified. Please specify a platform for this target in your Podfile. See https://guides.cocoapods.org/syntax/podfile.html#platform.

Error running pod install

Build failed :| Failed to build for iOS

I cannot make changes in the podfile because I am working on a linux system


Solution

  • Added a file manually in ios directory called "Podfile" and pasted this content

    # Uncomment this line to define a global platform for your project
    platform :ios, '11.0'
    
    # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
    ENV['COCOAPODS_DISABLE_STATS'] = 'true'
    
    project 'Runner', {
      'Debug' => :debug,
      'Profile' => :release,
      'Release' => :release,
    }
    
    def flutter_root
      generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
      unless File.exist?(generated_xcode_build_settings_path)
        raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
      end
    
      File.foreach(generated_xcode_build_settings_path) do |line|
        matches = line.match(/FLUTTER_ROOT\=(.*)/)
        return matches[1].strip if matches
      end
      raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
    end
    
    require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
    
    flutter_ios_podfile_setup
    
    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
      #target 'RunnerTests' do
      #  inherit! :search_paths
      #end
    end
    
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
      end
    end
    

    Notice that I have uncommented the second line (which was not done by default) and also commented these 3 lines

      #target 'RunnerTests' do
      #  inherit! :search_paths
      #end