-1

PhoneGap でネイティブ シェルにラップされた Sencha Touch 2 アプリがあります。ネイティブの Android アプリは既に作成しています。私のネイティブ Android アプリには、1 つのプロジェクトとそのプロジェクト用の 1 つの apk があります。1 つの apk から複数のアプリを作成することができました。apktool を使用して apk をアンパッケージし、Perl スクリプトを使用して index.html ファイルをいくつかのグローバル JS 変数で更新し、Smali ファイルのパッケージ名を変更してアプリを一意にします。次に、apk を再パッケージして署名します。各アプリの唯一の違いは、名前とリクエストを送信する URL です。この変数は、index.html で設定されます。iOSアプリでも同じことをしたいと思います。複数のプロジェクトを作成せずにこれを行う方法はありますか? デバイスで複数のインスタンスを使用できるように、各アプリは一意である必要があります。

4

1 に答える 1

1

これがあなたがする必要があることです。XCode プロジェクトを使用して、ipa ファイルを作成します。これで、ipa ファイルの複数のコピーを作成し、それらのバンドル ID を変更して、iResignなどのツールを使用して再署名できます。バンドル ID はアプリを識別します。そのため、バンドル ID が変更され、アプリが破棄されると、まったく別のアプリが取得されます!

さまざまな環境でアプリのバンドル ID が異なるため、wizUtils プラグインのようなプラグインを使用し、JS コードと JS switch case ステートメントでバンドル識別子を読み取る必要があります。開発と製品の構成を設定できます (あなたのケースではバンドル ID によって異なります。したがって、この方法では、他の環境のビルドを行うときにソース コードを変更する必要はありません。

于 2013-04-04T06:38:34.847 に答える