9

ビルド プロセスを自動化する最善の方法を研究しています。(以前の iOS 以外のプロジェクトでの経験を通じて) 私は自分のアイデアを持っていますが、さまざまな可能性について賛否両論の適切な議論が必要です。

目的: 単一のターゲット (ホワイト ラベルと考えてください) を持つ単一の xcode プロジェクトは、最小限のユーザー操作と最小限の技術知識で、1..N の異なるフレーバー (具体的なブランディング) で構築する必要があります。AdHoc および/または AppStore 用。

基本的に、これはビルドごとに指定することを意味します。Icons + Splashscreen を含むフォルダー、ブランド固有のリソースを含むバンドル、および (おそらく?) appname、bundle-id などを指定する Info.plist。

尊重または明確化する必要がある問題。

  • Idiot-Proof GUI を介した単一ブランドの手動ビルド (git ブランチ/タグの選択、特定のブランドの指定、IAP 対応、サーバー ドメイン名などのアプリの構成 - info.plist に書き込まれます)
  • 以前の手動テストでは、plist で実行可能ファイル名を設定しても機能しませんでしたか? 申し訳ありませんが、正確な問題を忘れてしまいました..おそらく、配布ビルドには関係なく、Xcode Debug buildconfig の問題でしたか?
  • コード署名?!? プロファイルはオンザフライで指定できますか? 一部のブランドは、顧客自身のプロファイルを使用して構築する必要があります。

私の個人的な感覚: Hudson または CruiseControl + Xcode プラグイン。

Xcode ソリューションに関するドキュメントはたくさんあるようで、私が取り組んだ Flex プロジェクトでこれが動作しているのを見たことがあります。もちろん、それは Ant スクリプトを使用していましたが、尊重する動作構成はありませんでした。それが私の唯一の不確実性です...どこかにハードコーディングする必要があると思いますが、それは一部の人々を喜ばせる答えではありません. 手動でビルドするときに、GUI フォームを介してさまざまな app-config 設定 (サーバー URL、機能 Foo がサポートされているか、ビュー X が表示されているかなど) を指定できるようにしたいという要望があります。それを典型的なハドソンやCCの設定に押し込むのがどれほど簡単かわかりませんか?

したがって、クライアントを構築するための OSX アプリを作成するという提案が 1 つあります。理論的には、必要なすべてのメタデータとアプリ設定を入力するためのクリーンで非技術的な UI と、「ビルド」というラベルの付いた大きな光沢のある緑色のボタンです。しかし、個人的には、このアプローチが従来の CI ソリューションよりも柔軟で実装しやすいかどうかについては懐疑的です。

したがって、問題は基本的に、何が好ましいかということです。従来のサーバーベース、統合されたバージョン管理、CI アプローチ、またはカスタム OSX ユーティリティ?

いずれにしても、ほぼ確実に 2 ~ 3 日 (間違いなく 1 週間以内) で稼働させる必要があります。

4

3 に答える 3

1

私見では、XCode のさまざまなターゲットを使用してすべての問題を解決できます。

すべてのターゲットはコードを共有しますが、次の可能性があります。

  • 異なるプロファイルで署名している
  • 別の plist を使用します。これは、異なる名前を持つことを意味します。
  • 異なるブランド イメージを使用します。イメージに同じ名前を付けて、ファイル インスペクタで正しいターゲットを選択するだけです。
  • XCode でワンクリックでビルドします。

これが役立つことを願っています

于 2014-09-24T09:59:58.833 に答える
0

非常に後の返信ですが、私がとるアプローチは、ホワイト ラベル IPA を作成し、スクリプトを作成して次のことを行うことです。 1. 解凍します (.ipa ファイル拡張子を .zip に変更します)。2. アセットを変更します。info.plist を更新します (Plistbuddy コマンドを使用)。再度圧縮します。コードを辞任します。

このスクリプトを開始点として参照してください: https://gist.github.com/catmac/1682965

于 2015-02-15T08:46:50.243 に答える