如果iOS项目中的第三方库的源代码需要修改才能使用,如何管理该库?

如果iOS项目中的第三方库的源代码需要修改才能使用,如何管理该库?,ios,xcode,cocoapods,Ios,Xcode,Cocoapods,我们需要在iOS应用程序项目(这是一个Xcode项目)中使用一些第三方库。第三方库要么由Cocoapods管理,要么通过导入源代码文件直接添加到项目中 有时我们需要修改库的源代码,以便在项目中正确地使用它。修改很容易,因为我们手头有所有的源代码,但是当将来我们升级第三方库的版本时,我们如何维护修改呢?是否有任何工具或最佳实践可以帮助解决这一问题?在第三方库升级之后,如果我们能够在代码历史中区分哪些部分是通过库升级完成的,哪些部分是通过我们的修改完成的,这将是一件好事。这完全取决于您的更改是什么

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


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

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

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


如果您不能子类化,那么您应该派生外部代码,然后您必须在需要时手动将更新合并到更改之上。在导入和管理代码方面,这显然要付出更大的努力。

如果您使用Git,我认为它会捕获它,并告诉您可以看到的差异是什么,您的修改在哪里。除非他们删除那个文件。但是你也可以在那里查看git,看看这个新的v。包含