当前位置: 首页 > 知识库问答 >
问题:

Xcode升级后,多个命令出现抖动iOS构建失败错误

萧玮
2023-03-14

在Mac中升级到Xcode 10.0版本后,颤抖iOS构建失败。

Nagendras-MacBook-Pro:uaenumber nagendra$ flutter run
Launching lib/main.dart on iPhone X in debug mode...
Starting Xcode build...
Xcode build done.                                            1.4s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    error: Multiple commands produce '/Users/dev/Documents/projects/Personal/uaenumber/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework':
    1) Target 'Runner' has copy command from '/Users/dev/Documents/projects/Personal/uaenumber/ios/Flutter/Flutter.framework' to '/Users/dev/Documents/projects/Personal/uaenumber/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'
    2) That command depends on command in Target 'Runner': script phase “[CP] Embed Pods Frameworks”
    warning: The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objcinference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "Runner" target. (in target 'Runner')
    warning: ignoring duplicated output file: '/Users/nagendra/Documents/projects/Personal/uaedialer/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework' (in target 'Runner')
    note: Using new build systemnote: Planning buildnote: Constructing build description
Could not build the application for the simulator.
Error launching application on iPhone X.

Xcode版本- 10.0 (10A255)

我尝试重新创建项目,并将所有源文件复制到新的项目文件夹中,但这并不能解决问题。

共有3个答案

宰父冠玉
2023-03-14

如果你已经尝试了所有的方法,但仍然不能成功地建立档案,那么你就像我的情况一样。

我花了3个工作日来解决这个问题。我的问题发生在将NotificationServices目标添加到项目中之后。但它似乎也适用于许多其他情况:

这个问题是由库内的2个目标多个命令产生的。例如,在我的例子中,在项目目标和通知扩展目标中,这两个GoogleUtilities都会导致它们冲突或重复生成的命令。解决方案是在顶层明确这种依赖关系。pod文件将如下所示:

platform :ios, '10.0'
use_frameworks!
inhibit_all_warnings!

pod 'GoogleUtilities' // Add this line is very important.

target 'MyProject' do
  pod 'Firebase/Analytics'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Messaging'
# Other pods
end

target 'NotificationService' do
  pod 'Firebase/Messaging'
end

运行后:

pod deintegrate
pod install 
辛锦
2023-03-14

这是一个已知问题。以下是解释和一些解决方法:https://github.com/flutter/flutter/issues/20685#issuecomment-421511890

此问题会影响所有使用Xcode 10构建的依赖CocoaPods的Flutter项目——通常这意味着那些依赖插件的项目。变通方法

  • 选项1:使用遗留构建系统。如@gi097所述,打开ios/Runner。xcworkspace,并将构建系统更改为Legacy build system
  • 选项2:使用新的Xcode 10构建系统。打开ios/Runner。xcworkspace在项目导航器侧栏中选择Runner项目。在主视图中,选择Runner目标,然后选择Build Phases选项卡。展开Embed Frameworks阶段并选择Flutter。嵌入式框架列表中的框架。单击-删除颤动。框架(请确保保留App.framework)

当插件被使用时,有两个竞争的构建动作将Flutter.framework复制到构建应用程序框架目录中:

Runner项目的嵌入框架构建阶段

pod install在项目中创建的[CP]embedded Pods框架构建阶段。

项目(1)是为了确保在没有插件的情况下将框架复制到构建的应用程序中(因此在Xcode项目中没有CocoaPods集成)。第(2)项之所以存在,是因为飘飘的podspec将Flutter.framework声明为vended_framework,并且CoaPods在可可豆属的传递闭包中自动为每个这样的vended_framework添加一个复制步骤。

范俊逸
2023-03-14

这个解决方案对我有效。

    < li >打开ios/Runner.xcworkspace,在项目导航器侧栏中选择Runner项目。 < li >在主视图中,选择流道目标,然后选择构建阶段标签。 < li >展开“嵌入框架”阶段,并从“嵌入框架”列表中选择Flutter.framework。 < li >单击-从列表中删除Flutter.framework(确保保留App.framework)。
 类似资料:
  • 我将XCode从9.2升级到9.4.1,现在我得到了这个错误: ld:断言失败:(target->definition()!=ld::atom::definitionproxy),函数addDyldInfo,文件/library/caches/com.apple.xbs/sources/ld64/ld64-351.8/src/ld/outputfile.cpp,第4213行。 编辑:这里是详细的错

  • 我正在尝试将项目从3.6.10版升级到4.3.6版,在应用程序启动时出现“提交失败”错误。而不是使用: ,为了获得会话,现在我正在使用: 事务由TransactionManager和Spring的NameMatchTransactionAttribute资源处理。 这是我得到的堆栈跟踪: 这是我的会话工厂bean配置:

  • 运行Firebase upgrade命令后,我尝试在模拟器中运行我的应用程序,出现了以下错误消息: 在调试模式下在 sdk gphone64 x86 64 上启动 lib\main.dart...运行 Gradle 任务 'assembleDebug'... /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.24.

  • 我在Netbeans中使用Codename One来开发我的应用程序,但我不知道我的版本有什么问题。我的应用程序使用CN1构建的html解析器从web中提取数据,它在模拟器中工作得很好,但当我将其发送到构建时,我收到了一个错误。Codename One建议我错误地安装了parse4cn1库,但我下载了cn1 Json库和parse4cn1库,然后刷新了CN1库,但错误仍然显示。提前感谢。 这是我的

  • 我使用了MongoDB提供的基本自动完成示例。不幸的是,它导致服务器端出现异常 ref:https://docs . atlas . MongoDB . com/reference/atlas-search/autocomplete/ org . graalvm . polyglot . polyglotexception:命令失败,出现错误40324(位置40324):“服务器localhost

  • 当我从Xcode4.6运行以下代码片段时,它可以编译并运行良好。但是当我尝试使用命令行工具(clang )编译它时,它失败了。 这里是编译日志: