ios xcode15.0.1 flutter1.22.6卡啟動屏打包變小 The Flutter "Thin Binary" build phase must run after "Copy...

ios xcode15.0.1 flutter1.22.6 卡啟動屏 打包體積變小 安裝啟動閃退

一直用的flutter1.22.6 隨著xcode15 ios17更新

一遍再開新工程跑flutter3.16,一遍還在維護(hù)老項(xiàng)目
升級xcode15后,跑老工程發(fā)現(xiàn)出問題跑不起來,

按網(wǎng)上說的修改了podfile

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      config.build_settings['SWIFT_VERSION'] = '5.0'
      config.build_settings['CODE_SIGN_IDENTITY'] = ''
    end
    flutter_additional_ios_build_settings(target)
  end
end


post_integrate do |installer|
  compiler_flags_key = 'COMPILER_FLAGS'
  project_path = 'Pods/Pods.xcodeproj'

  project = Xcodeproj::Project.open(project_path)
  project.targets.each do |target|
    target.build_phases.each do |build_phase|
      if build_phase.is_a?(Xcodeproj::Project::Object::PBXSourcesBuildPhase)
        build_phase.files.each do |file|
          if !file.settings.nil? && file.settings.key?(compiler_flags_key)
            compiler_flags = file.settings[compiler_flags_key]
            file.settings[compiler_flags_key] = compiler_flags.gsub(/-DOS_OBJECT_USE_OBJC=0\s*/, '')
          end
        end
      end
    end
  end
  project.save()
end

修改了 other link flags

-ld_classic

報(bào)

Runner.app/Info.plist does not exist. The Flutter "Thin Binary" build phase must run after "Copy Bundle Resources".

查了后將腳本

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed_and_thin
修改為
/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

確實(shí)能跑起來了,但是會卡在啟動屏,flutter側(cè)得main方法沒有執(zhí)行到,
能打包,但是打包出來的包體積大小不對,安裝后啟動閃退,懷疑還是資源問題
聯(lián)想到這句報(bào)錯(cuò)

Runner.app/Info.plist does not exist. The Flutter "Thin Binary" build phase must run after "Copy Bundle Resources".

在1.22.6和3.16.0新建demo后發(fā)現(xiàn)demo工程中Thin的腳本并沒有被修改,但是能夠正常運(yùn)行,排查方向切換到腳本上

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build

在flutter的git issues下關(guān)鍵詞 xcode15 Thin Binary 搜索到


搜索

點(diǎn)開第一個(gè) 關(guān)鍵詞 Thin


截屏2023-11-22 14.56.22.png

包含了解決方法

-ld_classic 和"-ld64"是一個(gè)意思
截屏2023-11-22 14.33.49.png

腳本還用

/bin/sh "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed_and_thin
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容