【发布时间】:2016-11-01 09:57:22
【问题描述】:
我创建了一个 Xcode Swift 项目(“Project1”)。在一个新项目(“Project2”)中,我无法添加项目 1。
我尝试将项目 1 添加到项目 2 的构建阶段(目标依赖项、编译源、将二进制文件与库链接);没用。添加到编译源时,无论我选择哪个选项(文件夹引用、组、如果需要,复制),它都不起作用。
我没有得到编译器错误:
import Project1
但是当我尝试使用项目 1 中的类时,我收到错误“使用未声明的类型”。
我也尝试过没有成功的链接:
- External library usage in xcode
- Xcode : Adding a project as a build dependency
- Xcode how to add an external project
这两个项目都使用 Swift (iOS)。
如果有人帮助我解决这个问题,我将不胜感激。
更新:项目 1 不是一个框架 - 它是一个 iOS 应用程序。我需要在项目 2 中使用它的一些类。问题是项目 1 通过桥接头使用 Objective C 库 Common Crypto。当我手动将项目 1 类添加到项目 2 中时,我在使用 Common Crypto 的项目 1 Swift 代码中收到错误(“未解析的标识符”)。
简而言之:我有一个 iOS 应用程序(项目 1),它在 Swift 中,但通过桥接头使用 Common Crypto。当我将项目 1 中的多个类添加到项目 2 中时,它无法解析对 Common Crypto 变量的引用(在项目 1 中)。
【问题讨论】:
-
这可能与访问控制级别(Project1 中的私有、公共等)有关吗?您能否添加一些代码,向我们展示您如何尝试在 Project2 中使用 Project1 中的某些内容?
-
看看 Heimdall.swift,它也使用 CommonCrypto 并且有一个 buildphase 脚本,你可以很容易地导入到 Project2 来解决这个问题。我有一个类似的设置可以做到这一点。你可以解决这个问题的唯一其他方法是使用一个不太好的伞式框架。链接:pastebin.com/1vmiqffu