【问题标题】:Sharing code between iOS Project and custom created iOS Framework在 iOS 项目和自定义创建的 iOS 框架之间共享代码
【发布时间】:2017-07-04 13:42:15
【问题描述】:

我编写了一个使用SAMKeychain 的框架。这个frameworkA在一个iOS项目中使用。

作为回报,iOS 项目有一些额外的类使用相同的SAMKeychain。我正在尝试找到一种方法来引用框架中的 SAMKeychain 并将其作为依赖项(但不包括 SAMKeychain 源)包含在框架内。

我尝试在框架中仅引用 SAMKeychain 的头文件并尝试构建框架,但它失败并出现链接错误 _OBJC_CLASS_$_SAMKeychain

在框架和 iOS 项目之间共享第三方代码的最佳方式是什么

【问题讨论】:

  • 如果我正确理解您的问题,Cocoapods 是最好的解决方案。
  • 怎么样? :) 我在我的 SAMKeychain 框架中使用了 cocoapods。但是如果我对 iOS 项目做同样的事情会导致重复的符号...
  • 如果Pods 和您的应用程序都使用相同的Pod Cocoapods 应该解决该依赖关系。

标签: ios objective-c iphone ios-frameworks


【解决方案1】:

解决方案是使用动态框架。因此,当制作 frameworkA 时,它应该是动态的,并且它包含的 SAMKeychain 的 Pod 也应该是动态的,以便您使用

use_frameworks! 在 Podfile 中,它将为 Pod SAMkeychain 创建 SAMkeychain.framework。

在 iOS 项目中创建 frameworkA 二进制文件后,您必须将 frameworkA 和 SAMKeychain.framework 添加为嵌入式二进制文件。这样就可以了。

请注意,如果您不在 Podfile 中使用 use_frameworks,它将生成 pod 的静态库,该库将包含在 frameworkA 的二进制文件中。

希望这对某人有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2011-10-16
    • 2018-01-31
    • 2015-05-02
    相关资源
    最近更新 更多