4

近々リリース予定の Mac アプリがあります。

MAS で購入できるようにしたいのですが、自分の Web サイトでもタイム トライアルを提供したいと考えています。

開発者 ID でタイム トライアル バージョンに署名し、ディストリビューション証明書で MAS バージョンに署名します。

ユーザーがタイム トライアルをダウンロードした後、MAS から購入することにした場合:

  1. MAS はユーザーに購入を許可しますか、それともアプリが既にインストールされていることをユーザーに促しますか (同じバンドル ID を共有しているため)。

  2. 同じバンドル ID を共有する理由は、タイム トライアル バージョンと MAS バージョンの両方がアプリケーション サンドボックス データとキーチェーン データを共有できるようにするためです。これは可能ですか?

(私は IAP を使用してタイム トライアルを完全に廃止することを検討しましたが、IAP では私が利用したいボリューム プライシングが許可されていません。)

4

1 に答える 1

4
  1. MAS は、アプリが既にインストールされていることをユーザーに警告します。ユーザーはまず試用版を削除する必要があります。

  2. いいえ。同じバンドル ID を持っていても、システム サンドボックス デーモンsandboxdは通常、アプリの 1 つ (通常は 2 番目にダウンロードするアプリ) へのアクセスを拒否します。これは、サンドボックス ディレクトリがそのホスト アプリに暗号でリンクされているためです。アプリに署名するだけでなく、アプリは SHA-1 ハッシュなど、毎回根本的に異なる一意の署名を取得します。これは、アプリを 2 回目にダウンロードするとき (つまり、以前に MAS からダウンロードしたときに Web サイトから)、サンドボックスが別の署名を持つアプリにリンクされている場合、サンドボックスへのアクセスが拒否されることを意味します。

運が良ければ、ユーザーは最初に MAS バージョンをダウンロードし、その後 (何らかの理由で) 試用版に移行する可能性があります。これはうまくいくかもしれませんが、うまくいくという保証はなく、私はそれに頼りません。サンドボックスの欲求不満でMASを捨てることにした人のように、それで運が良かった人もいます.

于 2013-10-12T23:54:37.910 に答える