从CocoaPods框架

时间:2016-01-21 05:15:42

标签: ios xcode dependencies cocoapods

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

提前致谢。

3 个答案:

答案 0 :(得分:21)

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

按照以下步骤操作:

  1. 在Git上查找要使用的库。
  2. 叉库。
  3. 更新Podfile,它引用您的分叉版本。 假设我想要分叉GPUImage库。然后将您的fork指向Podfile中给定。
  4.   

    pod'GPUImage',:git => 'https://github.com/UserName/GPUImage.git'

    1. 进行更改。
    2. 提交/推送您的更改到您的分叉回购。
    3. 向图书馆的原作者提交拉取请求。
    4. 如果接受了拉取请求并更新了窗格,请将您的Podfile恢复为使用公共窗格。
    5. 您可以创建Category(Objective C)或Extension(Swift)来扩展或向现有类添加一些功能。

答案 1 :(得分:1)

您可以做到这一点。只需修改pods src代码即可。切换到另一个分支,然后再切换回去。 Xcode会使用修改后的代码重建Pod。 如果要返回,则应删除Podfile中的Pod,执行pod install。然后再添加Pod,执行pod install。 该解决方案仅用于调试。 想要获得永久的效果,您应该选择@technerd的答案

答案 2 :(得分:0)

实际上,还有另一种方法,您可以根据自己的自定义需求修改库并从库中获取将来的更新,同时仍然可以通过cocoapods对其进行维护

enter image description here

我已经撰写了文章/教程对此进行了解释。

https://medium.com/@mihirpmehta/how-to-modify-cocoapods-library-within-pods-647d2bf7e1cb