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

swift - 获取 Xcode 扩展的项目位置

我正在开发一个 Xcode 扩展,它需要获取项目路径,即运行我正在制作的扩展命令的项目/工作区的路径。我试过这样的事情:

但它只是返回零。我也尝试通过 FileManager 获取它,但它只返回扩展的路径。

0 投票
1 回答
1693 浏览

ios - 在 Cocoapods 中使用未声明类型的 Xcode

我试图在我的工作区的 Pods 类中的 UIButton 操作中引用应用程序委托,但是,我不断收到错误“使用未声明的类型”。我相信这是由于 App Delegate 位于另一个工作区项目中。我想知道如何解决?谢谢你。

按钮代码

我对 AddCardViewController、AppDelegate 和 MMDrawerSide 使用了未声明的类型。

0 投票
1 回答
64 浏览

ios - 如何在 Xcode8 中处理两个项目?

我有两个名为 Project A 和 Project B 的项目。两个项目都有不同的 pod 文件。

现在我想将项目 B 添加到项目 A 中。所以我的项目 A 是最终代码,我想在项目 A 中使用项目 B 文件,反之亦然。那么如何在 Xcode8 中实现呢?

0 投票
1 回答
1550 浏览

xcode - 将两个 Xcode 工作区合二为一

我有两个项目。项目 A 和项目 B。项目 A 在 Objective C 中,而另一个在 Swift 3.0 中。项目 A 已经稳定,但将添加新功能。项目 A 已经在工作区中。

项目 B 就在这里。

在项目 B 中,我正在开发一个将由项目 A 使用的库。项目 B 正在使用诸如 Alamofire 之类的外部库。

我希望项目 A 使用项目 B。我尝试将这两者结合到项目 A 的工作区中。我将项目 B 放在项目 A 的工作区中。

但是,项目 B 的外部库并未包含在转移中。

我在两个项目中都使用了 Cocoapods。

还是我必须重新添加外部库?

0 投票
1 回答
957 浏览

ios - 如何在 Xcode 工作区中访问不同项目之间的属性?

我有一个工作区。我有4个项目。像 A、B、C 和 D。A 有 appdelegate 和其他。其余项目只有课程。我想在其他类中使用 A 类 appdelegate 对象。所以请帮助我,如何做到这一点?

0 投票
0 回答
2250 浏览

ios - 如何将一个 Xcode 项目包含到另一个项目中?

我有两个(A 和 B)具有两个不同标识符的 Xcode 项目。现在我想通过单击 Project AI 中的按钮打开项目 B 不想从一个应用程序打开另一个应用程序。我只想合并我的两个项目。它只能是一个包含两者的项目。在工作区中,我可以添加两个项目。但是如何将它们链接起来?关于制作其中一个项目的静态库的任何线索?我很困惑哪种方法更好。

0 投票
1 回答
845 浏览

ios - 在 Bitbucket 存储库中推送包含多个项目的 Workspace

我有 Xcode 工作区,它有多个项目——主项目和一个 pod 项目。如何在 Bitbucket 上推送代码(第一次),以便在存储库中设置所有内容?附件是项目结构,只是为了澄清

在此处输入图像描述

这是我的文件夹结构

在此处输入图像描述

0 投票
1 回答
753 浏览

ios - 使用静态库解决 ios 工作区的链接错误

几年前我用 Xcode 5 或 6 做过这个。现在使用 Xcode 8 或 9,我似乎缺少了一些东西。无论我做了什么,当我尝试构建和链接我的项目时,我都会收到 Linker 消息:

这不是一个重复的问题。这不是架构问题。我在 SO 或谷歌上找到的其他结果都没有解决这个问题。

我显然错过了一些构建设置,但无法弄清楚是哪一个。在构建尝试之间,我清理了构建文件夹,并删除了 DerivedData。退出并重新启动 Xcode。使用新工作区创建了一组新项目,并完成了下面概述的步骤。

如果这很重要,我正在为这个项目写 Objective-C(我不认为它确实如此)

我的问题是我忘记了什么?

我做了什么 -

  1. 为我的框架和静态库创建一个项目

    a) 为 cocoa-touch 框架创建项目 - 我们称它为 mySDK,它会创建 mySDK.framework

    b) 为 cocoa-touch 静态库添加一个目标 - 我们称之为 SDK,它创建 libSDK.a

    c) 可选地构建两个目标——它们构建得很好

    d) 关闭项目

  2. 为我的应用程序创建一个项目 - myApp - 然后关闭该项目

  3. 创建一个工作区——myWorkspace——并打开工作区

  4. 将两个项目文件从 #1 mySDK 和 #2 myApp 拖到工作区

  5. 构建框架和静态库(构建和创建目标都成功)

  6. 将静态库添加到 myApp

    a) 选择 myApp 并进入构建阶段

    b) 使用库打开链接二进制文件

    c) 从库构建产品 libSDK.a 拖到链接二进制窗格中,设置为“必需”库现在出现在 myApp 的 Frameworks 组区域中

7) 选择 myApp 项目并进入 build-settings

这解决了查找标头时的编译错误

现在我问,为什么我需要做其他事情,Xcode 不应该解决剩下的事情吗?

我审查过的各种解决方案或教程建议添加:

  • 其他链接标志 = -ObjC
  • 库搜索路径 = $(BUILT_PRODUCTS_DIR)
  • 库搜索路径 = "$(SRCROOT)/../mySDK"
  • 将跳过安装从 YES 更改为 NO
  • 安装构建产品位置 = $(BUILT_PRODUCTS_DIR)

我已经以不同的组合尝试了所有这些。

将库添加到 myApp 后,当我构建库时,我看到 Frameworks/libSDK.a 文件从红色变为黑色,因此工作区/项目中的某些内容知道我构建了库并且它看到了它。

那么为什么当我尝试构建 myApp 时,我仍然会看到线性错误:

架构 arm64 的未定义符号:“_OBJC_CLASS_$_MyClass”,引用自:ViewController.o 中的 objc-class-ref ld:未找到架构 arm64 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)

我所做的一切似乎都无法清除该错误。我正在拔头发试图找到解决方案。

我还检查了它是否正在构建所有适当的架构,并使用“lipo -info”确认它

Xcode 显然知道这个库,为什么不链接呢?

0 投票
0 回答
320 浏览

xcode - pod的xcode工作区多项目“没有这样的模块”

嗨,这基本上是我的 Podfile 配置

问题是只有当我构建 Project1(使用 Project2)时,我的 Project2 文件中才有“没有这样的模块 RxSwift”

其他一切正常,项目被识别为本地豆荚等。

我尝试过了 :

  • 更新 Project2 的 searPath 添加 RxSwift 添加“$PODS_CONFIGURATION_BUILD_DIR/RxSwift”
  • 直接在 Linked Framework 和 Librairies 中添加 RxSwift.framework
  • 取消集成 pod,删除 DerivedData celan build 等...

但是每次构建整个工作区时,我都会从 Project2 文件中获得这个“没有这样的模块 RxSwift” 。

您是否知道我可以检查/尝试的其他任何事情,或者我做错了什么?

我正在使用Xcode 9.1CocoaPod 1.3.1

PS:我的工作区由 5 个作为本地 pod 依赖项设置的项目组成,我知道将所有东西放在一个项目中肯定会解决这个问题,但我会遇到什么麻烦。

谢谢 !

0 投票
1 回答
696 浏览

ios - xCode - 如何从工作区链接动态框架

链接与应用程序位于同一工作区的动态框架的正确方法是什么?

将产品文件夹中的框架添加到应用程序的“嵌入式二进制文件”部分时遇到问题 - 因为添加的框架可能是为模拟器构建的,而应用程序是针对 iphoneos 构建的。我不能同时添加,可以吗?

我想实现这一点,当我的应用程序构建时,框架也被构建,我可以立即进行更改,而不是通过 Carthage 或链接进行一些繁琐的更新。

编辑: http: //netsplit.com/xcode-two-apps-with-a-shared-private-framework-in-a-workspace这篇博文准确描述了我想要做的事情 - 但这不起作用,因为我想要在模拟器和 iphone 上开发(它需要一个胖框架)。还是我错过了什么。