21

さまざまなクライアント用に複数のバージョンをビルドしてリリースできるようにする必要がある既存のiOSアプリケーションがあります。

このアプリケーションは、少数の異なる会社から入手可能なハードウェアとインターフェイスします。ハードウェアは同一ですが、各会社は異なる名前でハードウェアを販売しています。

これは無料アプリです。目標は、同じアプリの複数のバージョンでアプリストアをスパムすることではありません。目標は、ブランド変更されたハードウェアを販売する企業が、ハードウェアに使用するブランド名を使用するモバイルアプリを使用できるようにすることです。

私ができるようにする必要があること:

  • Appstoreに送信できる同じアプリケーションの複数のバージョンを作成します。各バージョンは、異なる会社のアップルアカウントで送信されます。これは、各プロジェクトが会社固有のプロビジョニングプロファイルを使用できるように、複数のプロジェクトを意味すると思います
  • 各バージョンにはいくつかの異なるイメージがあります(アイコン、スタートアップイメージ、おそらく他のいくつか)
  • 各バージョンにはいくつかの異なる文字列があります(会社名、製品名、おそらく他のいくつか)

Androidを使用すると、ライブラリプロジェクトを作成するだけで、わずかな労力で文字列や画像を上書きできます。

iOSでは、明白な答えは見つかりませんでした。

既存のプロジェクトに新しいターゲットを追加することを検討しましたが、うまくいかないと思います:-アイコンと開始画面以外の画像を置き換える方法がわかりません-文字列を置き換える方法がわかりません-同じプロジェクトでコンパイルされるさまざまなアプリにさまざまなプロビジョニングプロファイルを使用できますか?ターゲット設定でさまざまなプロビジョニングプロファイルが許可されていることは知っていますが、プロジェクト設定には独自のプロビジョニングプロファイルのセットがありませんか?

現在のアプリケーションを、他のプロジェクトが使用して画像/文字列を置き換えることができるライブラリにパッケージ化できますか?したがって、各バージョンには独自のxCodeプロジェクトがありますが、同じコードを使用します。

多分私は複数のターゲットのアイデアでもっと働く必要があります...

xCode 4.2を使用していますが、必要に応じて新しいバージョンに移行する準備ができています

4

3 に答える 3

12

異なるInfo.plistファイルを使用する複数のターゲットを作成します。最大の違いは、バンドル識別子が異なることです。コードのさまざまなチャンクの条件付きコンパイルを制御するさまざまなプリプロセッサマクロを定義することもできます。

または、追加で、ビルド構成設定(Info.plistファイルの場所の変更を含む)を* .xcconfigファイルに入れて、プロジェクト、情報、構成領域でそれらを参照することもできます。次に、スキームを変更するだけで、アプリの別のバージョンを作成できます。ビルド構成設定をファイルに入れることは、構成制御にとっても大きなメリットです。

* .xcconfigファイルの設定へのリンクは次のとおりです:http://itcoding.blogspot.com/2011/03/using-xcconfig-abandoning-build-panel.html。このような他の記事も見たことがありますが、これで始められます。

幸運を。

于 2012-07-13T15:23:12.997 に答える
4

私はこれを私の前の会社で別の方法で行いました。そこでは、1つのプライマリソースリポジトリから約8つのアプリを生成しました。

1つの外部クラスを必要とする1つのプロジェクトを作成し、それをConfigと呼びます。そのクラスは、各アプリをユニークにするユニークな情報を提供しました。

次に、1つのアプリをスピンして、アプリプロジェクトを作成し、共通の「ライブラリ」を含め、Config.mファイル(Config.hが共通)を提供し、一意の画像を追加します。

于 2012-07-14T12:59:41.483 に答える
1

これは私にとって非常に役に立ちました。これは基本的にマルチターゲットアプローチですが、会社向けにカスタマイズして、その会社のアカウントにアップロードします。

https://developer.apple.com/videos/play/wwdc2019/304/17分マークから参照してください。

要約すると、あなたはあなたが開発している会社と提携し、彼らのApple Connectアカウントから、あなたが彼らのために開発している特定のアプリの開発者およびマーケティングの役割としてあなたを割り当てます。ビルドを彼らのアカウントにアップロードします。彼らは、いつリリースするか、誰がTestFlightでテストするかを最終的に決定します。

于 2019-12-05T06:33:49.020 に答える