2015-10-18 41 views
4

我試圖創建我的第一個podspec結合ObjC和SWIFT代碼,但我很快就遇到uppon,雖然上傳不能棉絨/推一斯威夫特的CocoaPods podspec

複製在MyLibrary從/Users/lukasschwoebel/Library/Caches/CocoaPods/Pods/External/MyLibrary/540307feb534d63ad9015f3f6452b3ad-be661到 我解決不了頑固的錯誤, ../../../../../../private/var/folders/2p/_pc_vts51b3_pfydgm7_2n200000gn/T/CocoaPods/Lint/Pods/MyLibrary - 運行預安裝鉤子 - > MyLibrary(0.1.0) - ERROR | [iOS]遇到未知錯誤(使用Swift編寫的Pod只能作爲框架集成;這個特性仍然處於測試階段,在驗證過程中將use_frameworks!添加到您的Podfile或目標選擇使用它,Swift Pod的使用是:MyLibrary) 。

下面是我用命令:

pod repo push test-podspecs MyLibrary/MyLibrary.podspec --use-libraries --allow-warnings --verbose 

正如你可能會看到,這是從的CocoaPods最低觸及示例項目如下所述:https://guides.cocoapods.org/making/using-pod-lib-create.html 正如我甚至不能讓這個樣品運行,我懷疑我的cocoapods配置有問題。

我確定在要上傳的pod中沒有單個Objective C行(儘管最終我想要一個帶有ObjC和Swift代碼的podspec,但此時我只想有一個與斯威夫特工作podspec)。

我甚至不能用純Swift上傳這個簡單的pod。我第一次嘗試用CocoaPods v0.39.0,然後降級到0.38.2,之後0.38.0,甚至0.36.0。即使完全卸載CocoaPods。

看來我需要在CocoaPods中配置一些能夠上傳Swift podspec的東西?我明顯得到的錯誤是在Podfile需要use_frameworks的窗口的構建階段!被包括。那麼我怎麼讓CocoaPods在podspec驗證過程中編譯pod時使用它呢?

此外,我安裝了Xcode 7.0.1和OSX 10.10.5,它是Swift 2.0代碼。

預先感謝您!

下面是完整的podspec,改編自創建MyLibrary.podspec原來的(是的,這是一個本地Podspec回購,但不會引起/更改錯誤)

Pod::Spec.new do |s| 
    s.name    = "MyLibrary" 
    s.version   = "0.1.0" 
    s.summary   = "A short description of MyLibrary." 
    s.description  = 'Sample Description' 
    s.license   = 'MIT' 
    s.author   = { "Luke A." => "[email protected]" } 
    s.source   = { :git => "file:///Users/.../test/MyLibrary/", :tag => s.version.to_s } 
    s.platform  = :ios, '8.0' 
    s.requires_arc = true 
    s.source_files = 'Pod/Classes/**/*' 
    s.resource_bundles = { 
    'MyLibrary' => ['Pod/Assets/*.png'] 
    } 
    s.frameworks = 'UIKit' 
end 
+0

確認,你是否試圖推動一個私人可可豆莢規格回購,或公共中繼? – esthepiking

+1

這是一個私人的cocoapods回購。推動似乎不是問題,我已經有幾個豆莢(pecs)啓動並運行,但迄今爲止它們都是純粹的Objective C。 –

回答

4

我剛剛發現答案似乎有點明顯。

上傳/推送窗口的命令是在bash腳本中,所以我並不總是必須鍵入所有的標誌,而只是輸入p​​odspec的文件名/路徑。所以在默認的bash腳本中,我的標記爲--use-libraries,這是我的一個pod所需的。

當我嘗試出來的東西,不得不在pod repo push ..命令我對面的那個男頁跌跌撞撞一個錯字:

--use-庫 短絨使用靜態庫安裝規範

對於靜態庫,此標誌似乎與Swift podspecs不兼容。刪除該標誌lint併成功推送我的podspec。