问题标签 [xcode-workspace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
183 浏览

xcode - Xcode 可以在具有多个项目依赖项的工作区中复制正确的框架文件吗?

这是设置:

为了让主项目在模拟器和调试/发布设备上运行,我必须在 Linked Frameworks and Libraries 下添加框架 1 和 2,然后添加一个复制文件构建阶段,然后将实际构建的框架添加到适当的通过搜索 DerivedData 文件夹进行构建。如果我只是将框架添加到嵌入式二进制文件,它将复制错误的框架构建。例如,它会在尝试在设备上运行时复制模拟器构建。

0 投票
1 回答
791 浏览

xcodebuild - 在 XCode Build Phases 脚本中访问工作区路径

在 XCode 中,我正在构建一个 Build Phases 脚本,我需要在其中调用xcodebuild一个工作区作为参数。

我知道如何获取项目的路径 ( PROJECT_FILE_PATH),但我找不到找到工作区路径的方法。

现在我正在使用一个技巧将项目路径的扩展从更改.xcproject.xcworkspace

WORKSPACE_FILE_PATH="${PROJECT_FILE_PATH%.*}.xcworkspace"

但我宁愿使用更好的解决方案。

有人有线索吗?

0 投票
1 回答
578 浏览

ios - 重复的 Xcode 项目使用旧的 project_dir

我正在尝试创建我的 Xcode 工作区的副本。我在 Finder 中创建了一个重复的文件夹。让我们调用原始的 Project_v1 和重复的 Project_v2。

当我打开 Xcode 以处理所有其他问题时,我注意到我的位置/完整路径都是 /Users/abcd/Desktop/Abcd/Project_v1/Project.xcodeproj (相对于组),即使我打开了 Project_v2 文件夹。

当我观看有关此的在线教程时,路径始终是新路径。如果我通过单击 Identity and Type 下的小文件夹图标来选择 Project_v2,那么我在左窗格中的整个结构都会发生变化(文件夹变为蓝色而不是黄色,项目应用程序图标变为文件夹等)。

我的 Project_v2 中包含的项目怎么可能引用 v1?以及如何在保持其他一切正确的同时安全地将其更改为 v2?

0 投票
2 回答
972 浏览

ios - Xcode 工作区 - 如何正确保存新版本/备份?

我不确定这是正确的地方,但我需要一个答案 - 过去我总是通过复制粘贴项目文件夹和项目测试来保存我的 Xcode 项目的备份(所以如果我破坏了某些东西我可以恢复) /files 内(下图)并将其命名为新版本(即项目 1、项目 2 等):

在此处输入图像描述

这运作良好,在过去,我能够简单地删除一个搞砸的版本并打开一个过去的版本,代码将与我离开时一样。

我现在已经开始将 pod 合并到我的项目中,所以我使用的是工作区而不是 Xcode 项目。这现在带来了出现在左上角的构建“方案”的问题。

并非总是如此,但有时在复制粘贴后我会回到以前的版本,并且代码已经从最新版本/方案“继承”。我真的不明白什么是计划,或者这是否是问题所在,但它有时会引起重大问题。

使用工作区时,如何正确保存备份/新版本以返回?

0 投票
0 回答
535 浏览

ios - 在工作区的第二个项目中从情节提要实例化视图控制器

我创建了一个包含 2 个项目的工作区,我们将它们称为 A 和 B,分别带有包标识符com.domain.acom.domain.b。每个项目都有一个故事板Main.storyboard。我在项目 A 的情节提要中有一个按钮,我想使用以下代码从项目 B 的情节提要中实例化一个视图控制器:

我还为项目 B 中的视图控制器设置了故事板 ID:

故事板 ID

但是当我构建并运行项目时,我得到了这个异常:

笔记:

我使用了断点,发现bundle我的代码中的变量在nil. 为什么?!

0 投票
2 回答
229 浏览

ios - 在 Mac OS X v10.11.6 (El Capitan) 中创建一个 pod 文件

如何在Mac OS X v10.11.6 (El Capitan)中创建 pod 文件?

我用什么来代替“sudo gem install cocoa pods”和“pod setup --verbose”?

0 投票
1 回答
3752 浏览

ios - “pod install”后重复目标

在我向项目添加新的依赖项并运行pod install后,我的工作区(.xcworkspace)中有重复的目标,如下所示:

在此处输入图像描述

这是 pod 文件结构:

我重新启动项目和 Xcode,但它没有帮助。是什么原因,我该如何解决这个问题?

0 投票
2 回答
3636 浏览

xcode - 如何删除 Xcode 工作区?

我在 Xcode 工作区中有一个 Xcode 项目。有一次,我认为我想要一个工作区,所以我添加了一个,但事实证明我没有做任何可以从中受益的事情,而且我宁愿没有额外的复杂层。

我怎样才能删除工作区,所以我又只是一个普通的项目?

我发现一些网页说工作区只是一组指向项目的指针,但也必须有从项目返回到工作区的指针。当我尝试删除 .xcworkspace 目录时,我得到项目的构建错误(找不到工作区中的文件)。

0 投票
2 回答
4094 浏览

swift - Gitlab CI 中 Swift 3.0 项目的代码覆盖率

我有一个由 Swift 3.0 和 CocoaPods 编写的 iOS 项目。我已经为这个项目配置了 Gitlab CI,它运行良好。这是我的 .gitlab-ci.yml 文件:

我在我的 Gitlab 存储库中看不到这个项目的代码覆盖率。目前,我所有构建的覆盖率列都是空的。我尝试在CI/CD Pipelines Gitlab 设置中设置测试覆盖解析,但它没有任何效果,因为我不知道 Swift 的正则表达式。是否可以在 Gitlab CI 中为 Swift 项目设置代码覆盖率?我怎样才能做到这一点?

0 投票
0 回答
48 浏览

ios - 嵌入工作区时应用无法构建

我有3个项目:

  • 我自定义开发的框架“XXX.framework”(依赖于第 3 方“YYY.framework”)。两个框架对于真实设备和模拟器都有不同的版本,因此它们构建的架构不同
  • Objc-C 'DemoObjC.app' 和 Swift 'DemoSw.app' 中的 2 个演示应用程序使用了我的 'XXX.framework'。

我将我的自定义“XXX.framework”链接到这两个分别构建和正常运行的演示应用程序。

但是,当我将 3 个项目嵌入工作区以在一个窗口中同时处理所有项目时,我面临着奇怪的行为。有时我无法在设备或模拟器上运行应用程序。我的意思是有时它可以正常构建和运行,但是没有任何更改它就会失败。或者它可以在模拟器上正常运行但不能在真实设备上运行,但是在 XCode 重新启动后可能会发生它已经可以在设备上运行但不能在模拟器上运行的情况。我尝试清理项目,删除 DerivedData,重新启动 XCode,然后重新启动,但它只对成功运行几次有帮助,之后我仍然会出现意外行为。

例如,在工作区中,我尝试在设备上运行“DemoObjC.app”,我得到了

我不明白为什么当我在设备上运行它时它在 SIMULATOR 上失败?项目和目标似乎配置得很好,因为单独的项目可以正常构建和运行。

或者当我尝试在模拟器上运行时出现错误:

XCode 8.2 和 8.2.1 中的相同问题

任何胶水有什么问题吗?我倾向于认为这是与 XCode 相关的问题。