名为“Foo”的项目不包含名为“Bar”的方案 bitrise.io

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

我刚刚在 bitrise.io 中配置了一个项目。但是 xcode-build 失败并出现错误:

xcodebuild: error: The project named "Foo" does not contain a scheme named "Bar". The "-list" option can be used to find the names of the schemes in the project.

我仔细检查,方案Bar确实存在于项目中Foo

ios xcode xcodebuild bitrise
11个回答
65
投票

基于 Bryan Mussial 答案

根本原因是Schemes的默认行为是保留 方案“私有”,直到它们被明确标记为共享。在里面 在命令行启动构建的情况下,Xcode UI 永远不会运行并且 xcoderun 工具没有自己的可使用的方案缓存。

要使您的模式在命令行构建中可见,您必须将其标记为共享模式。

  1. 从菜单栏中选择产品 > 方案 > 管理方案
  2. 确保选中该方案的“共享”框
  3. 已在您的项目中创建了一个新的 .xcscheme 文件,地址为
    工作空间名称.xcworkspace/xcshareddata/xcschemes。
  4. 将此文件提交到您的存储库

34
投票

如果您的项目中不使用 cocoapods,则应从

.xcworkspace
目录中删除
./ios
文件。


19
投票

如果在项目重命名后发生这种情况,可以手动修复

  1. 在 Finder 中将
    Foo
    作为目录打开。
  2. 打开文件夹
    xcshareddata/xcschemes
  3. 重命名那里的
    xcscheme
    文件

7
投票

您可以按照下图的说明进行操作。


5
投票

解决方案1::

在 XCode 上:

1 - 转到产品/方案/经理方案...
2 - 选择您要创建的方案,然后单击“编辑”按钮。
3 - 取消选中并再次选中“共享”复选框。

解决方案2:

在查找器上:

1 - 转到 YOUR_PROJECT.xcodeproj/xcshareddata。
2 - 复制 xcschemes 文件夹。
3 - 转到 YOUR_PROJECT.xcworkspace/xcshareddata。
4 - 粘贴 xcschemes 文件夹


4
投票

打开 Xcode 并按照以下步骤操作

  1. 在 Xcode 中打开你的 project.xcworkspace 文件,或者如果你使用的是 React Native,则在 Xcode 中打开 ios 文件夹。
  2. 转到产品 > 方案 > 管理方案
  3. 在列表中选择您的项目
  4. 选择“编辑”>“复制方案”,然后使用您刚刚更改的项目名称或它是什么来重命名。
  5. 关闭窗口,再次转到产品>方案>管理方案
  6. 这次选择项目并选择 - 编辑按钮附近的选项

它将删除您的旧工作区文件,您将仅拥有新文件。


1
投票

当我在 xcode 中更改项目名称时遇到此错误

它创造了新的

[new_name].xcworkspace

如果您的

ios
文件夹有
[old_name].xcworkspace

然后删除:

[old_name].xcworkspace

然后再跑一次!


0
投票

确保您已安装 CocoaPods

在终端中,切换 (

cd
) 到您的项目目录。到达那里后,运行
pod install
,程序将下载所需的文件。


0
投票

将我的 Mac 恢复出厂设置并将其更新到 Big Sur 后,我遇到了同样的问题。

您绝对应该首先检查您的方案是否被选中为“共享”。然后,在 xcode -> 首选项 -> 位置中,查看“命令行工具”字段中是否选择了您当前版本的 xcode。

另外,请确保您的方案具有与错误所示的确切名称(“bar”,而不是“bar.dev”)。该方案可以为空(没有任何操作或任何内容)。您的方案还应该位于 yourappname 工作区中(即当您打开“管理方案”时)。

最后真正为我解决的是:

  1. cd ios
  2. 豆荚分解
  3. 吊舱安装
  4. cd ..
  5. 运行你的应用程序

0
投票

仅限Expo:手动更改名称后,我必须使用

expo run:ios
重新生成项目。


0
投票

检查您指定的方案的大小写。就我而言,我将 IPA 构建为 Azure DevOps 管道的一部分。这是我的步骤 yaml:

- task: Xcode@5
  displayName: "Build IPA"
  inputs:
    actions: "build"
    configuration: "Release"
    sdk: "iphoneos"
    xcWorkspacePath: "ios/casesensitivename.xcworkspace"
    scheme: "CaseSensitiveName"
    packageApp: true
    exportPath: "output"
    signingOption: "manual"
    signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
    provisioningProfileUuid: "$(APPLE_PROV_PROFILE_UUID)"

我最初将方案设置为“区分大小写的名称”,这导致了我的错误。将其更新为“CaseSensitiveName”解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.