【问题标题】:Importing pure Swift custom framework into other Swift project将纯 Swift 自定义框架导入其他 Swift 项目
【发布时间】:2016-05-09 05:51:30
【问题描述】:

让我们,我有一个自定义的 Swift Cocoa Touch frameworkMyLog,它有一个简单的函数叫做 printLog()。我在不同的工作区/位置有另一个名为 HelloWorld 的 Swift 项目。现在我需要将自定义框架MyLog导入到项目HelloWorld中,这样我就可以调用MyLog.printLog()了。

Project -> Targets -> Build Phases -> Link Binary With Libraries

不在列表中显示我的自定义库。此外,我不只是想链接我的自定义库,而是想作为独立库单独导入,以便 MyLog 中的运行更改不会反映在 HelloWorld 中。

注意:我在 Android 中添加custom_library.jar 库。

【问题讨论】:

    标签: ios xcode swift frameworks


    【解决方案1】:

    最后我通过以下步骤得到了解决方案,

    步骤

    1. 创建时将您的自定义MyLog 项目标记为Framework
    2. 实施func printLog并构建项目(成功构建将创建一个/Product/MyLog.framework文件)
    3. 使用 Finder 将 /Product/Mylog.framework 文件复制到 HelloWorld 项目目录中
    4. 关注HelloWorld Project -> Targets -> Build Phases -> Link Binary With Libraries -> + -> Add Other(从HelloWorld/目录中选择MyLog.framework
    5. 关注HelloWorld Project -> Targets -> Build Phases -> Embed Frameworks -> + -> Other(从HelloWorld/目录中选择MyLog.framework
    6. 构建HelloWorld 并享受!

    更新 1

    1. 如果找不到路径, HelloWorld Project -> Targets -> Build Phases -> Embed Frameworks 请检查,HelloWorld Project -> Targets -> General -> Embedded Binaries 在更高版本的 xcode 中,它将执行与第 5 步相同的操作。

    【讨论】:

    • 我在项目中没有看到第 5 步 ... :(
    • @Alix 这是以前的 Xcode 版本,你会在常规选项卡下得到Embedded Binaries,它会做同样的事情。参考:stackoverflow.com/a/37690368/1084174
    • 我的情况是在同一个工作区中生成框架。所以我不需要在 bridging-header.h 中添加任何内容。我可以直接导入,对吗?
    • 有效,但我有一个 objc 库,将它添加为无法找到它的桥接头的正确位置是什么?非常感谢您更新答案。
    • 这为我指明了正确的方向。我能够解决我遇到的问题。荣誉
    【解决方案2】:

    将框架添加到“嵌入式二进制文件”(目标 > 常规 > 嵌入式二进制文件)然后运行

    【讨论】:

      猜你喜欢
      • 2018-06-25
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      相关资源
      最近更新 更多