gpt4 book ai didi

ios - 在 iOS 库项目中包含库

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:43:21 25 4
gpt4 key购买 nike

我正在编写一个依赖于其他一些开源库的 iOS 库。显然不可能有两个具有相同名称的类,因此库可能会编译,并且可能会使用它的项目也会编译,但它们不能很好地协同工作(在链接阶段)。

该库面向大量受众,因此我无法对这些开发人员是否会导入相同的库,或者他们是否可能使用相同库的不同、不兼容版本做出任何假设。

我一直在四处寻找,但找不到任何明确的解决方案来解决我的问题(也许没有)。到目前为止,我正在考虑这些选项:

  • 通知用户 X 库已包含在项目中,因此他们不包含它们。这意味着他们不能使用不同版本的 X 库。
  • 作为第一个的改进版本,使用 CocoaPods,因此依赖项会自动解决。仍然有两个版本的库不能共存的缺点。
  • 导入并重命名我的库所依赖的所有类,并为其添加前缀,这样名称就不会与原始名称冲突。这是一项繁琐的工作,但更重要的是,它的缺点是我无法从原始库中提取/推送代码,因为代码会发生太多变化。从用户的角度来看,在我看来仍然是最佳选择。

你能想出更好的主意吗?我对图书馆项目还很陌生,所以也许我遗漏了一些明显的东西。

我们仍未决定是以二进制形式还是以源代码形式分发。如果有理由选择一个或另一个,我也想听听您的意见。

最佳答案

当我遇到这个问题时,我选择了您的第三个选项,并在我的库中为依赖类添加了前缀。您可能想要考虑这样做而不是依赖用户导入其他人的原因是您可以保证兼容性并且您不必担心您所依赖的版本。

关于ios - 在 iOS 库项目中包含库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com