2017-09-23 25 views
2

我創造了我莢斯威夫特3,現在我想將其遷移到斯威夫特4遷移我的吊艙斯威夫特4

我已經做了在示例項目中的代碼遷移(我選擇創建時的例子運行pod lib create),但我的podspec仍未通過驗證。

其中一個原因是,默認的CocoaPods配置編譯它作爲夫特3.

另一種是,以更新的依賴關係與夫特4進行編譯,我需要引用一個特定的分支,像RxSwift,但我找不到在podspec中這樣做的方法。

我該如何解決這些問題?

+0

關於swift版本,請參閱http://blog.cocoapods.org/CocoaPods-1.1.0/。最簡單的方法是用'4.0'作爲內容創建'.swift-version'文件。 – Sulthan

+0

指定依賴項的分支應該像在podfile中指定它一樣工作,請參閱https://guides.cocoapods.org/syntax/podfile.html#pod。 – Sulthan

+0

@Sulthan我不確定我是否理解,podspec中沒有'pod'聲明 –

回答

2

由於每CocoaPods: point to a branch in pod spec

不能使用:Git和:分支元數據podspec。預計:git和:分支元數據將來自podfile。

如果你想使用標籤,然後使用如下:RxCocoa/RxSwift爲SWIFT 4標記物(4.0.0-beta.0

Pod::Spec.new do |s| 
    ###Your code here 
    s.dependency 'RxCocoa', '~> 4.0.0-beta.0' 
    s.dependency 'RxSwift', '~> 4.0.0-beta.0' 
end 

如果你想使用的分支,然後 你podspec是象下面這樣:

Pod::Spec.new do |s| 
    ###Your code here 
    s.dependency 'RxSwift' 
end 

Podfile將是:

use_frameworks! 

target 'YOUR_TARGET' do 
    pod 'RxSwift', :git => 'https://github.com/ReactiveX/RxSwift.git', :branch => 'rxswift4.0-swift4.0' 
end 
+0

我不知道我關注,我在哪裏放置'Podfile'?我從來沒有見過帶有「Podfile」的Pod。我見過'Podfile'的唯一地方是導入這個窗格的項目。 –

+0

在您的項目Podfile中,您必須調用帶分支名稱的'RxSwift'。 –

+0

我在pod項目(創建pod的項目)中沒有'Podfile' –