每次更新我自己的 Carthage 框架时如何不更新 Carthage

问题描述

我有一个 iOS 项目,它使用我为自己创建的 Carthage 框架。为方便起见,我们将它们命名如下。

  • MAIN_PROJECT
  • MY_FRAMEWORK

我经常对 MY_FRAMEWORK 进行更改,每次更改时我都需要在 MAIN_PROJECT 上运行 carthage update,这需要很长时间。

我想知道是否有一种方法可以更改 MY_FRAMEWORK 并影响对 MAIN_PROJECT 的更改,而无需调用 carthage update 但仍将 MY_FRAMEWORK 保持为一个单独的存储库框架,以便我可以从其他项目中使用。

解决方法

如果可以选择使用 Swift Package Manager 将其集成到您的项目中,那么 Apple 为您提供了一个解决方案:

Swift 包是一种方便且轻量级的解决方案,可用于创建模块化应用架构并在您的应用中或与其他开发者一起重用代码。随着时间的推移,您可能希望与您的应用程序一起开发已发布的 Swift 包,或者创建一个示例应用程序来展示其功能。要与应用程序一起开发 Swift 包,您可以利用本地包覆盖同名包依赖项的行为:

  • 将 Swift 包作为包依赖项而不是本地包添加到您的应用中,如将包依赖项编辑为本地包中所述。

  • 同时开发您的应用和 Swift 包,并将更改推送到它们的存储库。

  • 如果您发布了新版本的 Swift 包或想要停止使用本地包,请将其从项目中删除以再次使用包依赖项。

还可以查看 detailled instructions 中的相关主题链接。