如何在源代码控制中保留 Carthage 构建以避免团队需要 "carthage update"?
How to keep Carthage builds in source control to avoid need to "carthage update" for team?
我们有 Carthage 依赖项,需要很长时间才能获取和构建。我尝试将 /Carthage/Builds
文件夹放入源代码管理,并将构建设置中的框架路径指向它,但团队仍然被迫做 carthage update
才能工作,否则无法识别更新的依赖项从源代码管理中拉出时(甚至更新的构建也已签入)。
有没有我遗漏的东西,而不是像在源代码管理中保留构建文件夹那么简单?
按照您的描述将 Builds 文件夹添加到源代码管理中应该就足够了。如果您从那里添加框架并将您的框架搜索路径定义为 $(PROJECT_DIR)/Carthage/Build/iOS
(iOS 的示例),一切都应该像魅力一样工作。在我们的项目中,我们是这样配置的。
如果没有,请查看构建设置并搜索 carthage 一词。唯一的结果应该是您的框架搜索路径。也许你定义了一些路径 $(PROJECT_DIR)/Carthage/Checkouts
这可能是你的问题。
在我的例子中,其中一个嵌套框架有一个绝对路径,所以解决方案只是添加一个导入路径到它的 module.map。
我们有 Carthage 依赖项,需要很长时间才能获取和构建。我尝试将 /Carthage/Builds
文件夹放入源代码管理,并将构建设置中的框架路径指向它,但团队仍然被迫做 carthage update
才能工作,否则无法识别更新的依赖项从源代码管理中拉出时(甚至更新的构建也已签入)。
有没有我遗漏的东西,而不是像在源代码管理中保留构建文件夹那么简单?
按照您的描述将 Builds 文件夹添加到源代码管理中应该就足够了。如果您从那里添加框架并将您的框架搜索路径定义为 $(PROJECT_DIR)/Carthage/Build/iOS
(iOS 的示例),一切都应该像魅力一样工作。在我们的项目中,我们是这样配置的。
如果没有,请查看构建设置并搜索 carthage 一词。唯一的结果应该是您的框架搜索路径。也许你定义了一些路径 $(PROJECT_DIR)/Carthage/Checkouts
这可能是你的问题。
在我的例子中,其中一个嵌套框架有一个绝对路径,所以解决方案只是添加一个导入路径到它的 module.map。