从iOS/Xcode项目中卸载/删除Carthage?

38

这里有一个关于Carthage的链接:

https://github.com/Carthage/Carthage

此外,它还会在项目文件中进行一些更改,因此我可以简单地删除额外的文件/文件夹,然后它就可以工作了,但由于一些错误,我不能在未来再使用Carthage

当然官方页面上没有具体的说明如何操作。

3个回答

46

彻底从项目中移除Carthage及其框架:

  1. 在Finder中,从项目的根文件夹中删除以下文件和目录:

     Cartfile
     Cartfile.resolved
     Carthage/
    
  2. 在 Xcode 中,删除项目导航器中的框架项。

  3. 在 Xcode > 项目目标 > Build Phases 标签页 (示意图) 中,删除 carthage copy-frameworks 运行脚本(如果您之前添加了它)。

您始终可以从 GitHub 下载所需的框架,并手动添加它(或者按照 @tfrank377 的答案操作)。

另请参阅


另外,不要忘记清理你的.gitmodules文件。 - André Neves
请在Finder中搜索Carthage文件夹并删除。 - Boaz Frenkel

29

对我来说,删除Carthage实际上很容易。

  1. 我只需将我的框架从Carthage文件夹复制到我主项目文件夹中的一个框架文件夹中。
  2. 确保从新位置将它们添加回Xcode项目中。
  3. 在查找导航器中搜索整个项目以查找对Carthage的引用。我找到的唯一引用是在构建设置下的Frameworks搜索路径中。只要您参考非Carthage框架文件夹,就应该能够删除Carthage引用。
  4. 最后,删除放置在Run Script中以保持Carthage框架最新的copy-frameworks脚本。只需单击右上角的“x”即可 run script phase xcode

如果需要,您应该始终能够重新添加Carthage,但这些步骤应从特定的Xcode项目中删除它,同时保留您想要的框架。


你的回答很有帮助,顺便说一下,“copy-frameworks”是一个辅助脚本,只会复制框架一次。如果框架发生更改,没有检查复制框架,这意味着更新的依赖项可能要到进行了一次干净的构建后才能被使用。至于框架被复制到哪里,请参考相应的配置文件。 - Saif
明白了!框架是从Carthage/Build/iOS文件夹复制到.app(应用程序文件)中的。因此,除非我们清理构建,否则无法在.app文件中获取更新的框架。 - Saif

1

我已经花了将近一个星期的时间,现在可以说安全地移除Carthage并且没有任何副作用,需要按照以下步骤进行:

  1. 最好逐步进行操作,如果您使用Carthage安装了四(4)个框架,只需逐个删除一个框架,每次成功删除后在设备和模拟器上构建和运行以查看最终结果。即使您需要这四个框架中的任何一个,也要先删除,清理您的项目,然后使用另一种机制重新插入所需的框架。
  2. 从ProjectNavigator > Build Phases中删除框架的引用
  3. 从Cartfile & Cartfile.resolved中删除所有框架的引用并保存
  4. 通过选择框架并按下删除键,从左侧的项目导航器中删除框架。在Xcode提供选项时,选择删除所有引用
  5. 进入终端并cd/Path to. your project
  6. 运行命令Carthage update --platform iOS(根据项目用途选择平台,如果是iOS,则选择iOS,否则根据您的选择选择)
  7. 让Carthage再次下载所有依赖项
  8. 构建和运行
  9. 重复2到8步,直到没有框架为止
  10. 在Finder中搜索 a).Cartfile b).Cartfile.resolved c). Carthage/
删除所有这些内容,然后清理并构建您的项目。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接