21

CocoaPodsの質問:

AFNetworkingとリソースバンドルに応じて、内部に静的ライブラリがバンドルされたフレームワークを作成しました(FWKを作成するための2つのチュートリアルに基づいていますhttp://www.blackjaguarstudios.com/blog/programming/2012/11/22/xcode- 45-creating-ios-framework-and-hold-my-hand-im-3-years-oldおよびhttps://github.com/bclubb/iOS-Framework

podspecを作成して、Podfileに行を追加するだけで、必要に応じて、ポッドのインストール時にフレームワークとAFNetworkingを追加できるようにしたいと思います。

これは可能ですか?

4

2 に答える 2

25

私は実際に私のオフィスでこれをたくさんしました。かなり再利用されているプラ​​イベートソースコードがたくさんあります。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も利用できるようになります。これにより、静的ライブラリがはるかに小さくなり(ビルドする必要がなくなります)、ユーザーがポッドをインポートできる速度が速くなります。

フレームワークを使用する必要がある場合でも、上記と同じことが当てはまりますが、多少の調整が必要になる場合があります。すべてのフレームワークは、とにかく静的なlibとヘッダーのためのきれいなフォルダー構造なので、なぜ余分なものを気にする必要があります。とにかく、ソースはすべてまだlPods.a静的ライブラリに組み込まれています。これがお役に立てば幸いです。

于 2013-01-02T18:22:26.953 に答える
1

実際、Cocoapodsを使用して独自のlibxxx.aまたはxxxx.frameworkを作成できるようになりました。Cocoapodsは、ユニバーサルバイナリヘッダーやパブリックヘッダーなどの詳細を処理します。Plsチェック:https ://guides.cocoapods.org/making/using-pod-lib-create.htmlおよびhttp://blog.cocoapods.org/Pod-Authors-Guide-to-CocoaPods-Frameworks/

于 2015-10-29T08:00:28.130 に答える