Flutter iOS打包报错PhaseScriptExecution

11 min read

OS打包报错 如下:PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock /Users/pan/Library/Developer/Xcode/DerivedData/Runner-dqdsrnanidvyflfgfqaqolexypaa/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-D0565ED80269FE43F1DF71A1.sh (in target 'Runner' from project 'Runner') cd /Users/pan/curl2post/ios /bin/sh -c /Users/pan/Library/Developer/Xcode/DerivedData/Runner-dqdsrnanidvyflfgfqaqolexypaa/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Runner.build/Release-iphoneos/Runner.build/Script-D0565ED80269FE43F1DF71A1.sh error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

bashCopy code
cd /Users/pan/curl2post/ios

在项目目录下运行 pod install 命令,以确保您已安装并更新所有的依赖项:

pod install

如果问题仍然存在,请尝试更新您的 CocoaPods 安装。运行以下命令来更新 CocoaPods:

sudo gem install cocoapods

更新 CocoaPods 完成后,再次运行 pod install

pod install

最后,确保使用 .xcworkspace 文件打开您的项目,而不是使用 .xcodeproj 文件。

.xcworkspace(Xcode Workspace)和 .xcodeproj(Xcode Project)是 Xcode 中的两种不同类型的文件,它们之间有一些关键区别:

  1. .xcodeproj 文件:
    • 代表一个单独的 Xcode 项目。
    • 包含项目中所有的源代码、资源文件、框架和构建设置等信息。
    • 通常用于不依赖其他外部项目或库的简单项目。
  2. .xcworkspace 文件:
    • 代表一个 Xcode 工作空间,它可以包含多个相关的 Xcode 项目(.xcodeproj 文件)。
    • 允许在同一个工作空间中管理和构建多个项目,同时共享代码、资源文件和构建设置。
    • 当项目使用 CocoaPods 作为依赖管理工具时,CocoaPods 会为您创建一个 .xcworkspace 文件,以便您可以在一个工作空间中管理您的项目和所有 CocoaPods 依赖。

在使用 CocoaPods 的项目中,您应该始终使用 .xcworkspace 文件打开项目,而不是使用 .xcodeproj 文件。这是因为 .xcworkspace 文件包含了您的项目和 CocoaPods 依赖,确保您可以正确构建和运行项目。如果您尝试使用 .xcodeproj 文件打开项目,可能会导致编译错误,因为 Xcode 将无法找到和链接 CocoaPods 依赖。