问题标签 [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 投票
1 回答
280 浏览

ios - 如何从 iOS 中的框架访问主机应用程序版本?

对于一个大型项目,我在同一个工作区中有一个主机应用程序MyApp和一个链接框架。假设由于某些原因需要知道发布版本(或当前版本号)。我该如何处理这种情况?框架无论如何都可以访问主机应用程序吗?还是有更好的设计?MyFrameworkiOSMyFrameworkMyApp.plist

0 投票
1 回答
109 浏览

ios - 为什么在 Xcode 中有一个与我的常规项目分开的“Pods”项目?

设想:

当我在 Xcode 中打开我的项目的 iOS 文件夹时,我InTow在导航器区域中看到两个单独的项目:InTowPods.

在此处输入图像描述

同样,当我在ios/文件夹中递归搜索时,只有两个.xcodeproj文件:InTow.xcodeprojand Pods.xcodeproj,并且只有一个.xcworkspace文件:InTow.xcworkspace.

我的问题是:

当我在 Xcode 中单击打开ios/文件夹时,它会执行以下哪个操作?

1)寻找.xcworkspace它找到的第一个文件,然后打开它?如果是这样,InTowPods项目在 Xcode 中打开的原因是那些是引用的两个项目InTow.xcworkspace吗?一个文件夹是否ios/总是只包含一个.xcworkspace文件?

2)查找所有.xcodeproj文件,并打开相应的项目?

3) 别的?

0 投票
1 回答
391 浏览

swift - 快速工作区中的 GitHub 操作

我正在尝试使用 Github Actionsxcodebuild在我的xcworkspace. 但是,任何配置都失败并出现错误Unable to find a destination matching the provided destination specifier: { platform: iOS Simulator, OS: latest, name:iPhone 11 Pro }

这是我的swift.yml文件

如您所见,我还在 CI 机器上记录所有可用设备。这清楚地向我展示了几部 iPhone 11 Pro (Max)。

我已经尝试过的事情:

  • 使用特定的操作系统版本
  • 降低构建目标
  • 强制 Xcode 版本为 11.3
  • grep 上述列表中模拟器的 ID 并使用该 ID 代替 name 参数
  • 在运行测试之前启动模拟器

我错过了什么明显的东西吗?

干杯和快乐的编码。

0 投票
0 回答
29 浏览

ios - 工作区中的多个子项目

我一直在服务器端的 Android 和 Java 等其他几个环境中以这种方式工作,我们称之为多模块项目,但我发现很难在 XCode for iOS 项目中实现它。

这个想法是将一个项目分解成更小的子项目,每个子项目可能有自己的故事板、自己的类和具有隐式命名空间的结构。

基础项目将是带有目标的单视图应用程序,这是结构的样子。

  1. BaseApp 可以加载/卸载或挂载/卸载 ModuleA 和 ModuleB 的故事板。

  2. ModuleA 或 ModuleB 可以是任何类型的项目。

我使用来自 baseapp 的故事板引用做了一些尝试,并尝试在 ModuleA 或 ModuleB 中加载故事板,但它无法找到它的引用。

想知道如何在 XCode 中实现 Multi-Modular 项目吗?

0 投票
0 回答
51 浏览

swift - 在 Xcode 工作区中加载 txt 文件资源

我有一个 txt 文件,可以在客户端应用程序中正常加载,使用:

但是当将同一个文件添加到服务器目标(同一个 Xcode 项目工作区中的 SwiftWebSocketServer)时,do 语句会中断。我尝试了许多解决方案,包括:

Bundle.main.path(forResource... 查找 xml 文件时总是返回 nil

加载 txt 文件 Swift

但是思考与将其添加到 Target --> Build Phases --> 有关系吗?..尝试将其添加到编译源(不起作用),将文件移动到根目录,进入文件夹(组和引用),认为它与添加到目标有关->构建阶段->'复制文件,但不确定目标/路径等。

任何意见,将不胜感激。

0 投票
1 回答
386 浏览

xcode12 - 命令 PhaseScriptExecution 失败,退出代码为非零,Xcode 12.4

我可以在模拟器上运行我的应用程序。然而,在真实设备上,我被要求提供我的钥匙串密码,然后构建失败

从日志:

我试图删除派生数据,清理我的项目,重新启动 xcode 和我的机器,删除工作区和 podfile.lock 并生成新的。没有什么帮助。

有任何想法吗?这是代码签名/证书问题吗?

我注意到在我的 Xcode 项目导航器中,在 Pods/Frameworks 下,所有框架都是红色的,包括 AppAuth.framework。查看 Xcode 文件检查器中的框架完整路径,我注意到引用的路径不存在。该路径指向 DerivedData/Products 下的“Debug”文件夹,但我只有一个“Debug-iphoneos”,在该文件夹下我可以看到框架。我认为这解释了框架是红色的(即找不到)?

“纠正”完整路径可能会解决所有这些问题,我将如何做到这一点?

0 投票
1 回答
124 浏览

ios - 如何将带有 cocopods 的 Xcode 项目添加到 github

我按照此链接将项目添加到 GitHub。我可以使用这些说明成功创建存储库。

但无法将带有 pods(.xcworkspace) 的 Xcode 项目添加到 GitHub。我知道我们应该只添加 podfile 来减少负载。但不知道如何实现这一点。

在此处输入图像描述

0 投票
0 回答
11 浏览

xcode - 具有两个依赖项目和 CocoaPods 的 Xcode 工作区

我有一个项目,它包含一个 PrefPane 和一个包含 LSUIElement 的 .app 包。基本上,用户安装 prefpane,prefpane 将包含的 .app 添加到登录项(如果未运行,则启动它),以便项目的“守护程序”部分始终运行(当然,如果从 prefpane 启用。

现在,项目结构有点混乱,prefpane 项目中有一个“cp”构建阶段,它将 .app 复制到 Contents/Resources。由于这不会在将 .app 复制到 prefpane 之前自动负责重建 .app,因此这不太理想。

现在我想将 Sparkle 添加到组合中,所以我创建了一个指向“守护程序”.app 项目的 podfile,因为这样就可以每天进行背景检查。这将创建一个 xcworkspace,在构建守护程序时可以正确处理 Sparkle 依赖项。

现在,我也想将 PrefPane 项目添加到工作区,以便可以一起构建所有内容。但是,如果两个 .xcproject 都位于工作区的根级别,就在 Pods 项目旁边,我无法将 Daemon .app 目标添加为 PrefPane 的依赖项。我首先必须将守护进程的项目拖到 prefpane 项目的“下方”,这会创建一个“副本”/另一个引用。现在我可以将守护程序的 .app 目标添加为依赖项,还可以将 .app 添加到 Copy Files 阶段。但是当我构建工作区时,只构建了 .app 项目和 cocoapods。prefpane 目标在清洁和重建后保持红色。

这里发生了什么?

0 投票
1 回答
81 浏览

swift - Xcode 导入本地 Swift 包并从应用程序构建

目标是将本地 Swift 包“共享”导入 Xcode 项目,并将它们都放在工作区中。

我创建了一个工作区,将包和项目拖放到其中,然后通过将包添加到框架、库和嵌入式内容中,将包添加到应用程序中。

这在从工作区构建时有效!但我必须让它也可以从应用程序项目构建,目前它抛出:“缺少包产品'共享'”。

我知道可以做我想做的事,因为我有一个可以工作的示例项目,其中 Shared 被列为应用程序项目中的本地 Swift 包,在我的项目中不是。在项目中,Shared 列在 Frameworks、Libraries 和 Embedded Content 下,但删除引用后无法再次添加。

如果有人可以帮助我,那就太好了!

0 投票
0 回答
14 浏览

clean-architecture - 如何将测试从 Xcode App 项目移动到它自己的项目

在 Xcode 13.2 中,我使用 Xcode Workspace 安排了我的应用程序项目,到目前为止,我以简洁的架构风格实现了更好的分离。但是,我无法弄清楚如何将测试从 App 项目移动到单独的测试项目。请看屏幕,看看我试图完成什么。通过添加 Persistence 依赖项可以轻松测试 Persistence 项目。该应用程序,但是,我找不到将其添加为测试项目中的依赖项的方法。

有谁知道如何完成将 App 测试移动到 Tests 项目?

项目结构