2016-01-21 59 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 –