Flutter:操作系统更新到 Sonoma 14 并强制从 XCODE 14 迁移到 XCODE 15 后出现 Cocoapods 错误

问题描述 投票:0回答:1

我有一个正在运行的 flutter 项目(在 Android Studio 中),我能够构建该项目并将其部署到 iOS(设备、模拟器和应用商店)。

我最近升级到了 Sonoma 14,被迫迁移到 XCODE 15..

该项目无法再构建,结果如下:

Could not build the precompiled application for the device.
Error (Xcode): Cycle inside Runner; building could produce unreliable results.
Cycle details:
→ Target 'Runner': CodeSign /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app
○ That command depends on command in Target 'Runner': script phase “[CP] Embed Pods Frameworks”
○ That command depends on command in Target 'Runner': script phase “Thin Binary”
○ Target 'Runner' has process command with output '/Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Info.plist'
○ Target 'Runner' has copy command from '/Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Share Extension.appex' to '/Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/PlugIns/Share Extension.appex'
○ That command depends on command in Target 'Runner': script phase “[CP] Copy Pods Resources”


Raw dependency cycle trace:

target:  ->

node: <all> ->

command: <all> ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/_CodeSignature ->

command: P0:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:CodeSign /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Frameworks/DKImagePickerController.framework/ ->

directoryTreeSignature: � ->

directoryContents: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Frameworks/DKImagePickerController.framework ->

CYCLE POINT ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Frameworks/DKImagePickerController.framework ->

command: P2:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:PhaseScriptExecution [CP] Embed Pods Frameworks /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/Script-D70BC623FCECD69675274B83.sh ->

node: /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/InputFileList-D70BC623FCECD69675274B83-Pods-Runner-frameworks-Debug-input-files-05c6fbe611d80542646882c2a5c1968e-resolved.xcfilelist ->

command: P2:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:WriteAuxiliaryFile /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/InputFileList-D70BC623FCECD69675274B83-Pods-Runner-frameworks-Debug-input-files-05c6fbe611d80542646882c2a5c1968e-resolved.xcfilelist ->

node: <target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase4-thin-binary> ->

command: P0:::Gate target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase4-thin-binary ->

node: <execute-shell-script-18c1723432283e0cc55f10a6dcfd9e02f1eee2015e8ff5ebcd27678f788c2826-target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-> ->

command: P2:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:PhaseScriptExecution Thin Binary /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/Script-3B06AD1E1E4923F5004D2608.sh ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Info.plist/ ->

directoryTreeSignature: a ->

directoryContents: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Info.plist ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Info.plist ->

command: P0:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:ProcessInfoPlistFile /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Info.plist /Users/xxxxxx/Documents/AppMultiplatform/ios/Runner/Info.plist ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/PlugIns/Share Extension.appex ->

command: P0:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:Copy /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/PlugIns/Share Extension.appex /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Share Extension.appex ->

node: <target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase6--cp--copy-pods-resources> ->

command: P0:::Gate target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase6--cp--copy-pods-resources ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/GoogleCastCoreResources.bundle ->

command: P2:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:PhaseScriptExecution [CP] Copy Pods Resources /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/Script-160F4FE231B45515F62A496E.sh ->

node: /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/InputFileList-160F4FE231B45515F62A496E-Pods-Runner-resources-Debug-input-files-e62fecce4bba37b2347c6ae73e74e2f5-resolved.xcfilelist ->

command: P2:target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49-:Debug:WriteAuxiliaryFile /Users/xxxxxx/Library/Developer/Xcode/DerivedData/Runner-ckgxhwwvbdtkjfbchnttuutoznaz/Build/Intermediates.noindex/Runner.build/Debug-iphoneos/Runner.build/InputFileList-160F4FE231B45515F62A496E-Pods-Runner-resources-Debug-input-files-e62fecce4bba37b2347c6ae73e74e2f5-resolved.xcfilelist ->

node: <target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase5--cp--embed-pods-frameworks> ->

command: P0:::Gate target-Runner-18c1723432283e0cc55f10a6dcfd9e0288a783a885d8b0b3beb2e9f90bde3f49--fused-phase5--cp--embed-pods-frameworks ->

node: /Users/xxxxxx/Documents/AppMultiplatform/build/ios/Debug-iphoneos/Runner.app/Frameworks/DKImagePickerController.framework

我花了两天时间试图解决这个问题,但几乎没有成功。仍然遇到同样的错误。我什至尝试进行完整的 mac 擦除/清洁(M1 Mini 16GB)+一切从头开始

任何人都可以解释如何解决此问题或有任何关于如何解决此问题的线索吗?

谢谢!

ios flutter xcode android-studio cocoapods
1个回答
0
投票

更新于2023年10月11日解决方案如果您在更新到Xcode 15后遇到问题并且无法在iOS平台上运行flutter应用程序。请按照以下解决方案进行操作。

解决方案1:将Cocoapods更新到v1.13(1.13发布修复

这似乎是由于 Xcode 15 的旧 Cocoapods 版本导致的问题。这在 CocoaPods 版本 1.13.0 中已解决

您可以按照以下步骤操作https://stackoverflow.com/a/77229768/6890699

解决方案2:更新Podfile(Flutter / Xcode 15)

但是,需要注意的是,这只能用作临时解决方案,直到 cocopods 更新发布来修复您的 Xcode 版本

post_install do |installer|
  installer.pods_project.targets.each do |target|
     flutter_additional_ios_build_settings(target)
      target.build_configurations.each do |config|
        xcconfig_path = config.base_configuration_reference.real_path
        xcconfig = File.read(xcconfig_path)
        xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
        File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
      end
  end
end

对于非 flutter 用户:从脚本中删除以下行。

flutter_additional_ios_build_settings(target)

相关的其他修复:更新 flutter 库

如果你使用inAppWebview,你会得到这样的错误

解析问题(Xcode):无法构建模块“WebKit”

更新inAppWebview至v5.8.0版本

flutter_inappwebview: 5.8.0

查找您在 flutter 项目中使用的库的更新。

记住使用上述任何解决方案后

  1. 清理你的 flutter 项目
    flutter clean
    &&
    flutter pub get
  2. 删除 iOS 目录中的 Pods 目录
    rm Podfile.lock
    &&
    rm -rf Pods/
  3. 安装和更新 pod
    pod install
    &&
    pod update
  4. 在 ios 设备上构建并测试您的应用程序
    flutter run
    或在 Xcode 中构建。
© www.soinside.com 2019 - 2024. All rights reserved.