Flutter iOS 构建失败:DVTCoreDeviceEnabledState_Disabled

Ice*_*man 41 macos xcode ios flutter

flutter build ipa在使用 Xcode 14.3 和 Flutter 3.7.9 的macOS\xc2\xa0v13.3 (Ventura)上失败。

\n

日志输出:

\n
xcodebuild[83777:409216] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)\n
Run Code Online (Sandbox Code Playgroud)\n

flutter run在 iOS 模拟器上运行没有问题。

\n

小智 49

目前,这是唯一适合我构建 Archive ipa 的解决方案。无需回滚到 Xcode 14.2。

所以现在的解决方案是,打开 ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh 文件。

找到这一行:

if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
Run Code Online (Sandbox Code Playgroud)

if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink -f "${source}")"
fi
Run Code Online (Sandbox Code Playgroud)

添加 -f 并保存文件。

这对我有用。希望这可以帮助。


Dav*_*d L 25

您不需要回滚到 Xcode 14.2。以下步骤在 14.3 版本中对我有用:

  1. 确保您将版本 11 作为目标处理:

    在 podfile 文件中...

    代替

     post_install do |installer|
       installer.pods_project.targets.each do |target|
         flutter_additional_ios_build_settings(target)
       end
     end
    
    Run Code Online (Sandbox Code Playgroud)

     post_install do |installer|
       installer.pods_project.targets.each do |target|
         flutter_additional_ios_build_settings(target)
         target.build_configurations.each do |config|
           config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
         end
       end
     end
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保调试包含在 LaunchAction Xcode 架构中。在Runner.xcscheme文件中,您需要确保包含类似的内容......

     <LaunchAction
        buildConfiguration = "Debug"
        //...more lines
     </LaunchAction>
    
    Run Code Online (Sandbox Code Playgroud)

  • @Alexa289如果您打开项目搜索并搜索“LaunchAction”,对您来说会更容易,它会带您直接找到它。但它是: `/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme` 您找不到它的原因是因为它不是一个松散文件,它位于项目的 .xcodeproj 文件内。该死的苹果公司,他们的文件包含文件。 (3认同)
  • “IPHONEOS_DEPLOYMENT_TARGET”本身不起作用,但将 LaunchAction 设置为“调试”为我解决了问题。 (2认同)

bar*_*ady 8

我遇到过同样的问题。完成后flutter upgrade(从版本 3.7.9 到 3.7.10)它再次工作。

  • 很好,它对我也有用。我之前使用的是 3.7.7 版本,现在使用的是 3.7.11 版本,没有任何警告/错误消息。注意:我还按照上述答案中 Bm Mn 的建议,使用 Flutter 版本 3.7.7 对 Pods-Runner-frameworks.sh 文件进行了修改,但没有成功。也许这两个答案一起就是解决方案。 (2认同)

小智 1

下载 Xcode 14.2 版本,您可以使用 Xcode Select 来实现此目的。

  • 这不是一个解决方案,有一天您将不得不更新到 14.3 并处理这个问题。 (3认同)