2012-12-31 58 views
19

的CocoaPods問題:的CocoaPods/Podspec和* .framework

我已經創建了一個內部的靜態庫捆綁了一個框架,根據AFNetworking和資源包(基於這兩個教程創建FWKs http://www.blackjaguarstudios.com/blog/programming/2012/11/22/xcode-45-creating-ios-framework-and-hold-my-hand-im-3-years-oldhttps://github.com/bclubb/iOS-Framework

我很想創造一個podspec使人們只需添加在他們Podfile一條線,這將上莢安裝,如果需要的話加我的框架和AFNetworking。

這可能嗎?

+0

任何事情都可以。 ;) –

回答

24

我實際上在我的辦公室做了很多。我們有很多專用源代碼可以重複使用。 CocoaPods幫助新項目更快啓動,並使其更容易更新。

雖然有可能你的框架添加到podspec,我發現它更容易只是通過靜態庫,並通過標頭的CocoaPods了,而不是擔心的框架。

你必須根據你的項目更新您的podspec,但這裏是重要的部分:

s.source_files = 'StaticLib/Headers/*.h' 
s.preserve_paths = 'StaticLib/libYourLibrary.a' 
s.library = 'YourLibrary' 
s.xcconfig = { 'LIBRARY_SEARCH_PATHS' => '$(PODS_ROOT)/ProjectFolder/LibraryFolder' }  

s.dependency = 'AFNetworking' 

這將您的靜態庫拷貝過來以及帶過來也與吊艙AFNetworking。這會讓你的靜態庫更小(不需要構建它)並加快用戶導入你的窗口的速度。

如果必須使用框架,從上面還是同樣的東西適用,但你可能有一些細微的調整做。無論如何,所有的框架都是一個靜態庫和頭文件的漂亮文件夾結構,所以爲什麼還要多花些錢。無論如何,源代碼仍然都內置在lPods.a靜態庫中。希望這可以幫助你。

+0

謝謝,只知道它是將推動我進一步調查=) – Pasta

+0

我試着用這個回購:https://github.com/BugsterIO/BugsterIO-iOS並在podfile以下行:莢「BugsterIO」 ,:podspec =>「https://raw.github.com/BugsterIO/BugsterIO-iOS/0.8/BugsterIO.podspec」 。但它不起作用。任何想法? – Pasta

+0

錯誤是:架構i386的未定義符號: 「_OBJC_CLASS _ $ _ Bugster」,引用自: – Pasta