質問

次のテンプレートに基づいてiOSフレームワークに取り組んでいます。 https://github.com/jverkoey/ios-framework

今、私は少し磨き、適切なビルド/マーケティング番号を使用してバージョンシステムをセットアップする必要があります。

このフレームワークプロジェクトには、3つのターゲットがあります。これは、静的ライブラリを生成する最初のターゲットです。これは、リソースバンドルを生成する2番目のターゲットと、静的ライブラリとリソースバンドルの集計ターゲットである3番目のターゲットです。したがって、私の最初の問題は、バージョンのビルド設定を構成するターゲットを決定することです(または、すべてのターゲットを構成する必要がある場合)。

私の2番目の質問は、私が構成すべき設定とそれらが何を意味するのかということです。

現在のプロジェクトバージョン=>それはビルドバージョンですか、それともマーケティングバージョンですか? 1.2.3.4のようなバージョンでアプリをリリースした場合、4を設定する必要がありますか?または1.2.3?または1.2.3.4?

生成されたバージョン化ソースfilename => .cファイルの名前は、整数ビルド番号を含む生成されたものですか?

生成されたバージョン変数=>それは何ですか?

バージョンの名前のプレフィックス=>ビルド番号を含む変数の名前のプレフィックス

バージョンの名前接尾辞=>ビルド番号を含む変数の名前の接尾辞

バージョン化システム:誰もがAppleジェネリックを使用しているので、利用可能なのはそれだけだと思います

バージョンのユーザー名:それは何ですか?

iOSで「パッケージング」セクションに「パッケージング」セクションに「フレームワークバージョン」のような他の設定があります(実際には静的フレームワークであるため、バージョンは重要ではありません)?また、「リンク」セクションの「互換性バージョン」 /「現在のライブラリバージョン」設定の場合、静的ライブラリターゲットのみで構成する必要がありますか?それとも、ライブラリをリンクするアプリケーションで使用されていますか?

役に立ちましたか?

解決

商業的なクローズドソースフレームワークを構築しない限り、 本当に使用することをお勧めします ココアポッド. 。依存関係、リソース、バージョン化、更新、インストールなどの世話をします。

クローズドソースコード用のバイナリのみを配布したい場合でも、cocoapodsでバイナリを構築してから、異なるPodSpecで配布できます。また、本当に悪いが一般的な慣行である他のライブラリコードの埋め込みを避けることができます。

バージョン化については、確認できます ここ.


静的ライブラリの作成に戻る...

バージョンはアプリからは表示されず、単なるドキュメントにすぎないため、すべてのターゲットに追加する必要があると思います。実行時にライブラリのバージョンを本当に検出できるようにしたい場合は、クラスメソッドまたはグローバル変数を作成する必要があります。 [MyLibrary version].

これらのキーのドキュメントはXcodeに含まれているか、1つだけ選択して「クイックヘルプ」ペインを確認できます。

enter image description here

他のヒント

Appleには、フレームワークの構築と配布に関する非常に広範なドキュメントがあります。

フレームワークプログラミングガイド 必要な地面のほとんどをカバーします。開発者ツールがプロジェクトの情報をどのように使用するかについてのより具体的な情報が必要な場合は、マニュアルページをご覧ください agvtool, 、XcodeがAppleバージョンシステムで使用するツール。

また、に興味があるはずです ココアのコーディングガイドライン, また、フレームワークのベストプラクティスもいくつかカバーしています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top