如何将用 Swift 编写的 Cocoa Touch 框架导入 .pch 文件?
Posted
技术标签:
【中文标题】如何将用 Swift 编写的 Cocoa Touch 框架导入 .pch 文件?【英文标题】:How to import a Cocoa Touch Framework written in Swift to a .pch file? 【发布时间】:2015-04-15 07:07:06 【问题描述】:我创建了一个 Swift 框架,我想将它导入到我在 Swift 项目中创建的每个类中。我不想在任何地方手动输入import
语句。我该怎么做?
在 Objective-C 中,这与在预编译的头文件(.pch 文件)中放置一个 #import
语句相同。
我尝试了什么
使用 Cocoa Touch Framework 模板创建一个新的 Xcode 项目,用 Swift 编写我的所有代码。 我在框架中的所有扩展和方法都有public
关键字。
将框架的 .xcodeproj
添加到我的应用的 Xcode 项目中。
在目标依赖项中添加.framework
。
在我的应用项目中创建一个 .pch 文件(也是用 Swift 编写的)。
在 .pch 文件中写入 <FrameworkName/FrameworkName.h>
。这并没有解决问题,而且有点没有意义,因为我并没有真正在框架项目内的FrameworkName.h
中导入任何内容。
【问题讨论】:
它是纯 Swift 项目还是混合 ObjC-Swift? 框架是 Swift-only,应用也是 Swift-only。 据我所知,目前还没有解决办法。您不能在所有 Swift 类中自动导入框架,就像在 ObjC 中使用 PCH 文件一样。我知道的唯一解决方案是在桥文件中导入框架,然后在任何地方都可以访问,但在纯 Swift 项目中,您没有此解决方案可用。 【参考方案1】:您可以手动添加 .pch 文件,然后可以在 .pch 文件中导入常用文件。欲了解更多信息,请参阅下面的链接
Add new .pch file
看这张图片
【讨论】:
我从我的项目中创建了一个 .pch,但是如何从中导入我的 Swift 框架? @Matt 请查看对您有帮助的给定链接,因为每个步骤都在那里定义。 恐怕你误会了。我不只是询问如何创建一个 .pch 文件来预导入同一项目中的所有文件。我在询问如何导入我在纯 Swift 中构建的 Cocoa Touch Framework,以及如何在 .pch 中导入它,这样我就不必在每个文件中都导入它。请注意,如果一个框架是使用纯 Swift 构建的,那么整个框架就没有一个.h
文件。
@Matt 你可以#import UIKit 看看我编辑的答案以上是关于如何将用 Swift 编写的 Cocoa Touch 框架导入 .pch 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Cocoa (Mac) 在 Swift 中创建 PDF