Eug*_*din 6 swift swift-package-manager
创建具有 SPM 依赖项的框架相当新鲜。因此,我创建了一个新的框架项目,添加了一些类/文件以及 SPM 依赖项(CocoaLumberjack 记录器)。框架编译良好。
当我寻找我计划嵌入到其他项目中的框架产品时,我看到它位于我的产品文件夹中。除了它之外,我还看到了 CocoaLumberjack 模块。在我的框架内部,除了 exec 文件之外没有太多内容。
当我尝试将我的框架嵌入到其他一些项目中时。没有任何内容编译,因为它说缺少 CocoaLumberjack 模块。
有谁知道如何解决这一问题?我是否错过了重要的一步或什么?
嗯,在导入框架本身的过程中您可能会遇到很多问题。它还取决于您是否使用框架作为二进制或源代码。我假设您使用源代码方法,因为您是框架的创建者。但是,您可以在此处检查所有方法:in this SO question。让我们看一下为了在 swift 项目中成功使用具有 SPM 依赖项的框架所需实施的所有步骤。
testFramework并链接了一个名为 的自定义 SPM 包VodApiPackage。该包还包含对另一个BaseTvApiServicePackage.我还添加了TestPrinter包含简单函数的文件,用于创建在我的 SPM 包中声明的错误。此功能仅用于检查一切是否正常工作,稍后供用户使用。也已公开。
import Foundation
import VodApiPackage
public struct TestPrinter {
public init () {}
public func makeTest() {
let x = VodApiError.customErr(msg: "testMsg")
print(x.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)
}
打开您的项目并链接到框架,您还可以查看这个不错的教程。教程中最重要的步骤是步骤 5 和 6。拖入.xcproj项目并链接库和框架的位置
确保您的库和 SPM 依赖项在项目中正确链接。检查下面的示例项目。
使用您的框架及其包构建和测试:
import UIKit
import testFramework
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
testmodel()
TestPrinter().makeTest()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4201 次 |
| 最近记录: |