【问题标题】:How to manage 3rd-party library in iOS project if its source code needs to be modified in order to be used?如果需要修改源代码才能使用,如何管理iOS项目中的第三方库?
【发布时间】:2015-11-16 00:35:47
【问题描述】:

我们需要在我们的 iOS 应用项目(Xcode 项目)中使用一些第三方库。第三方库要么由Cocoapods管理,要么通过导入源代码文件直接添加到项目中。

有时我们需要修改库的源代码才能在我们的项目中正确使用它。修改很容易,因为我们手头有所有的源代码,但是当我们将来升级第三方库的版本时,如何维护修改呢?是否有任何工具或最佳实践可以帮助解决这个问题?并且在第三方库升级后,如果我们能在代码历史中区分哪些部分是库升级完成的,哪些部分是我们的修改完成的,那将是很好的。

【问题讨论】:

  • 如果你使用 Git,我想它会捕捉到它并告诉你什么是不同的,你可以看到你的修改在哪里。除非他们删除该文件。但你也可以在那里查看 git 并查看这个新的 v. 包含什么。

标签: ios xcode cocoapods


【解决方案1】:

这完全取决于您的更改是什么......

最好的选择是不更改外部代码。相反,将需要更改的部分子类化并仅使用公共 API,以便在更新时尽早发现子类是否需要更改。单元测试也有帮助。

如果您不能子类化,那么您应该分叉外部代码,然后您必须在需要时手动合并更改之上的更新。就导入和管理代码而言,这显然要付出更多的努力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2018-08-05
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多