2016-01-21 51 views
13

我有一个使用CocoaPods包含多个第三方框架的Xcode工作区。我想在这些依赖项之一中编辑一行源代码。但是,当我这样做时,Xcode警告我该文件已被锁定,并且我所做的任何更改都可能无法保存。所以我的问题是:当我运行pod安装/更新时,是否会丢弃对源代码的更改?如果没有,是否还有其他情况,可能与CocoaPods无关,会放弃我的更改?最后,有什么好的方法可以编辑源代码而不会遇到这样的问题?编辑来自CocoaPods框架的锁定文件

在此先感谢。

+0

你可以在GitHub上分享你想编辑源代码的第三方框架。然后用你的想法编辑源代码。之后,您可以创建自己的podspec文件,将您的存储库添加到CocoaPods库。 – SeraZheng

回答

19

您无法在原始Pod文件中进行更改。如果你想添加更多的功能,那么你必须分叉那个特定的回购。

按照步骤来完成:

  1. 查找图书馆要在Git的使用。
  2. 叉库。
  3. 更新Podfile引用您的分叉版本。 假设我想分叉GPUImage库。然后将您的分叉指向Podfile。

荚 'GPUImage',:GIT中=> 'https://github.com/UserName/GPUImage.git'

  • 进行更改。
  • 提交/推送您的更改为您的分叉回购。
  • 向库的原始作者提交拉取请求。
  • 如果接受请求并且更新了容器,请恢复您的Podfile以使用公共容器。
  • 您可以创建类别(Objective C)或扩展(Swift)来扩展或添加一些功能到现有的类。

    +0

    我分叉了库,更新了podfile,然后运行'pod install'。当我去做更改时,它仍然表示源代码已被锁定,并且我没有写入权限。如果我将它解锁,可以,因为它是分叉的,还是不应该被锁定在第一位? – 17nisa

    +0

    现在你可以解锁它。 – technerd

    +0

    很好的例子,我只是碰巧需要分叉GPUImage lol –