【问题标题】:iOS: Can i create a static library with all classes (.h & .m) as public?iOS:我可以创建一个所有类(.h 和 .m)为公共的静态库吗?
【发布时间】:2016-04-10 09:17:18
【问题描述】:

我有一堆类想要与其他人分享,所以我想创建一个静态库,但我不想隐藏我的代码。如果他们愿意,我想允许他们将零钱存入图书馆。

我可以共享一个文件夹,但我想将所有文件合并到一个包中,以便于管理和维护。

静态库通常只向用户显示头文件 (.h),但是否可以让实现 (.m) 文件也可见?

我还有一个静态库,它是这个库的依赖项。我可以将一个静态库放在另一个静态库中吗?或者我必须在我的项目中添加这两个文件?

我之前没有做过这个图书馆的东西,所以我朝着正确的方向前进吗?还是在 iOS 中有更合适的方式可以满足我的要求?

谢谢!

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    将代码作为框架发布,而不是共享文件夹,而是将库变成 GitHub 或其他任何地方的常规项目。通过CocoaPodsCarthage 添加安装库所需的内容。使用semantic versioning 进行适当的发布,编写适当的变更日志。

    第一次要经历很多事情,但这是一个很好的做法,会有所回报。有关此类库的示例,请参阅我的 simple goo.gl client

    【讨论】:

    • 谢谢!我已经成功创建了自己的 Cocoapod 项目,非常有帮助。我还有一个问题,将代码作为框架发送,有什么方法可以使所有用户都可以看到实现文件(.m),或者我只能使用(.h)?公开 .m 文件是个好主意吗?会有任何编译警告或错误吗?
    • 干得好!有两种选择:分发带有标题的静态库和分发整个内容。我通常选择后者,分发完整的资源。这样其他人就可以充分利用您的代码。
    • 好的,我会选择第二个选项。感谢您的建议。我有我的答案:)
    猜你喜欢
    • 2011-01-09
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    相关资源
    最近更新 更多