我在Cocoa 应用程序中成功地使用了来自https://github.com/stephencelis/SQLite.swift的优秀 Swift 包装器。
但是当我尝试在命令行工具项目中使用包装器并遵循相同的详细安装步骤时,我收到以下错误:
检查依赖项
无法运行命令 'PBXCp SQLite.framework' - 此目标可能包含其自己的产品。
我检查了依赖项,但无法弄清楚如何解决这个问题。
我在Cocoa 应用程序中成功地使用了来自https://github.com/stephencelis/SQLite.swift的优秀 Swift 包装器。
但是当我尝试在命令行工具项目中使用包装器并遵循相同的详细安装步骤时,我收到以下错误:
检查依赖项
无法运行命令 'PBXCp SQLite.framework' - 此目标可能包含其自己的产品。
我检查了依赖项,但无法弄清楚如何解决这个问题。
您不能在命令行工具项目中将动态框架(.framework)与您的应用程序链接起来。原因很简单——命令行工具目标构建单个二进制文件。这与常规的 Cocoa 应用程序不同,其中.app
“文件”实际上是一个文件夹,其中包含.framework
s 和其他内容。
所以基本上你必须构建一个静态库(一个在编译期间与你的应用程序的二进制链接的库)——除了从 Xcode 6.1开始,它还不能使用 Swift。
所以你唯一能做的——AFAIK——就是将 SQLite.swift 的源代码直接添加到你自己的应用程序目标中(这样它就可以一起编译)。这很丑陋,但有效。