问题标签 [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 回答
769 浏览

ios - Xcode:将文件从一个项目复制到同一工作区中的另一个项目

我目前正在为 iPhone 应用程序处理遗留代码。有人在 iPhone 中实现了一项功能,现在我正在尝试在 iPad 中实现它。

首先,我决定将文件从 iPhone 项目拖到 iPad 中并让它工作。然后我将找到一个解决方案,两个项目可以共享相同的代码。

但是,我已将 iPhone 项目中的文件复制到 ipad 项目中,并且 xib 有问题。网点仍在参考 iPhone 版本。

因此,当我从 iPad 版本中删除 IBOutlets 时,连接仍然存在,因为 iPhone xib 没有被触及。但是,当我从 iphone 项目中删除连接时,它也会从 ipad 版本中删除插座。

这些都是同一工作区中的独立项目。

我不确定为什么会发生这种情况,还有没有办法在不引用其他项目的文件的情况下复制文件?

0 投票
1 回答
2093 浏览

xcode - xcodebuild clean 失败 - 对于不存在的方案?

我目前正在为我的工作场所配置持续集成作业。我遇到了一些问题,希望你能帮助我。

它是这样开始的。

...

它说没有配置名为 Tests 的方案的清理。现在我一直在寻找一个名为 Tests 的方案,但没有成功。有没有什么办法解决这一问题?我已将所有方案设置为启用共享并禁用自动创建方案。

0 投票
0 回答
310 浏览

xcode6 - Xcode GUI构建中的xcodebuild设置参数等效?

我有一个 Xcode 工作区。工作区有多个项目。每个项目至少有 1 个目标。

该命令xcodebuild允许您在命令行上添加设置参数。这些设置将传递给所有目标。

例如,我可以通过执行以下操作在工作区中构建所有内容:

并且设置BOB=newhart将传递给每个项目。

选择产品时这相当于什么?从 Xcode 菜单栏构建(按 Command+B)?

几点:

  • 我不想编辑每个项目。
  • 我创建了一个名为“Global”的 xcconfig 文件,但是如何让 Xcode 构建过程将它用于所有目标?
    • 编辑方案时的Build部分不包含附加 xcconfig 文件的方法。
    • 当我在 Navigator 窗格中选择 Global.xcconfig 并查看 Utilities 窗格中的 File Inspector 时,我看不到将该文件添加到任何目标的方法。
    • xcconfig 文件只是工作区的一部分。它不是任何 1 项目的一部分。
    • 我不确定 xcconfig 文件的使用是如何完成我想要的;我只是在解释我所尝试的。
0 投票
0 回答
706 浏览

ios - 具有多个项目和共享库的 Cocoapods

我有一个包含多个项目的工作区。每个客户都有自己的项目,每个客户的项目依赖于

  1. 核心项目:带有通用代码的静态库
  2. 接口项目:具有通用接口的静态库,即UIViewController代码

Interface 库也依赖于 Core。

项目依赖

每个项目都有两个目标。正常目标和测试目标,所以,

  • 核心,核心测试
  • 接口,接口测试
  • 客户,客户测试

由于目前该应用程序的各个方面都在大力开发,因此我将所有项目都放在同一个工作区和同一个存储库上,因为随时可能在结构的任何部分发生变化。

我想使用 CocoaPods 来管理项目所具有的依赖关系。为简单起见,假设我可以在每个测试目标上使用OCMock ,在每个普通目标上使用NewRelicAgent ,仅在核心目标上使用可达性。

Podfile 看起来像这样:

我通过将静态库 Core.a 添加到 Interface.a 的构建阶段并通过更改用户标头搜索路径以找到标头来解决了我的结构之间的依赖关系。在 Customer 项目中,我将 Core.a 和 Interface.a 添加到构建阶段并修改了User Header Search Paths,以便它从 Core 和 Interface 中找到代码。

这种方法的问题是 Core 和 Interface 构建了一个正确执行他们的测试,但是当我尝试构建 Customer.app 时,我得到了一些重复的符号错误。我相信这是因为 CocoaPods 中的 target 关键字会生成配置了依赖项的静态库,因此在构建 Customer 时,它会尝试包含来自 Core 的两倍代码。关于如何解决这个问题的任何想法?

0 投票
3 回答
8214 浏览

xcode - 如何在具有不同配置名称的同一工作区中编译具有应用程序和库的项目?

我正在开发一个应用程序,我正在使用一个开源组件。

我有一个包含MyApp.xcodeprojComponent.xcodeproj的工作区。我的应用程序具有三种配置:DebugApp StoreIn House但组件只有两种:DebugRelease

Debug配置中,一切正常,但我无法在App StoreIn House配置中编译我的应用程序,因为配置名称不匹配。尝试时收到文件未找到错误#import <Component/Component.h>

我需要App StoreIn House配置,并且我真的很想避免修改组件的配置,以简化组件的未来更新。

我知道我可以使用 CocoaPods 来解决这个问题,但我想知道 Xcode 中是否有简单的解决方案

0 投票
1 回答
282 浏览

ios - 每个 Cocoapods 构建目标的含义

Cocoapods 工作空间中每个目标的用途是什么?

当我通过“pod lib create Foo”创建一个新的 CocoaPods 库时,我预计只有两个目标:一个用于构建我的库,一个用于构建我的示例。

但是生成的 xcworkspace 一共有四个目标:

  • 项目
    1. 目标Foo_Tests
  • 项目豆荚
    1. 目标Pod-Foo_Tests
    2. 目标Pod-Foo_Tests-Foo
    3. 目标Pod-Foo_Tests-Foo-Foo

这些目标的含义是什么?

(我没有选择演示应用程序、基于视图的测试或测试框架。)

0 投票
1 回答
141 浏览

ios - XCode 中的项目间通信

我的项目架构是一个有两个项目(项目 A 和项目 B)的工作区。项目 A 有另外三个子项目(项目 X、项目 Y、项目 Z)。

  • 工作区
    • 项目A
      • X计划
      • 项目 y
      • z项目
    • 项目 B

B项目更像是一种公用事业项目。它需要在项目 A、项目 x、项目 y、项目 z 和其他可能的地方重新使用。我开始做一个原型。但在将项目 B 与其他项目联系起来时面临挑战。每次我需要将 .a 文件手动添加到所有其他项目中。我们有动态链接的解决方案吗?

我也尝试过这种方法。我将项目 B 移动到项目 z 下面的项目 A 中。但我无法访问项目 x、y、z 中的类,因为所有项目都在同一级别。

任何解决方案可以动态链接同一级别的项目?

0 投票
2 回答
1426 浏览

ios - dyld:库未加载:@rpath/libswiftCoreAudio.dylib 引用自:原因:找不到图片

我创建了一个 Cocoa Touch 框架来集中我的通用 Swift 代码并将一些东西移到其中——现在我在我的另一个 Swift 项目中使用它,在一个工作区中。起初主项目已编译,但在启动时出现此错误:

dyld:库未加载:@rpath/libswiftCoreAudio.dylib 引用自:/Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS 原因:找不到图像

我发现可以通过在框架中打开选项Embedded Content Contains Swift Code来修复它,但是我在日志中得到了一堆重复的符号,如下所示:

objc [19237]:类 GGLBundleUtil 在 /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS 和 /Users/username/Library/Developer 中实现/CoreSimulator/Devices/CCAD7FCA-BF5F-428A-8122-680B91300618/data/Containers/Bundle/Application/22DC1E4F-B631-450A-A157-A6ADA0126DE6/AppName.app/AppName。将使用两者之一。哪一个是未定义的。

我不认为我应该在框架中打开 Embedded Content Contains Swift Code 选项,但我不知道为什么框架找不到 Swift 库。任何人?

编辑:

当我尝试在设备上运行该应用程序时,我得到一个类似但不同的错误。似乎在抱怨看不到我的框架:

dyld:库未加载:@rpath/JBS.framework/JBS 引用自:/private/var/mobile/Containers/Bundle/Application/C7644037-E5A0-431E-A7DB-D3B124CDC677/AppName.app/AppName 原因:找不到图像

0 投票
1 回答
459 浏览

ios - 使用 Pod 运行 Google Analytics 项目时出现 Apple Mach-O 链接器错误

我是一名初级程序员,在使用可可豆荚时遇到了谷歌分析库的问题。

我已经正确安装了可可豆荚,安装了包含依赖项的 pod 文件。Pods甚至我也可以在单独的文件夹“ ”中看到 finder 中的生成文件,GoogleAnalytics1.xcworkspace但仅供参考

  1. GoogleAnalytics1 是我的项目的名称。

  2. GoogleAnalytics1.xcworkspace(在 pod 文件安装期间创建)和 GoogleAnalytics.xcodeproject 位于名为“GoogleAnalytics1”的同一文件夹中。

任何形式的帮助将不胜感激。在此先感谢。

0 投票
0 回答
29 浏览

cocoapods - 如何将 pod 分发到不同的项目

我有一个工作区,里面有 3 个子项目

每个项目依赖不同的 pod,并且存在所有项目都依赖的 pod

每个项目至少有 3 个不同的目标,以及几个测试目标。

我想以这样一种方式定义 pod 文件,以便在所有项目上安装共享 pod,而未共享的 pod 将特定于每个项目,但是我不想这样做

对于每个目标,因为所有项目中至少有 10 个不同的目标

我怎样才能实现我的目标?