4

我有一个我计划很快推出的 Mac 应用程序。

我希望它可以在 MAS 上购买,但我也想在我的网站上提供计时赛。

我将使用我的开发人员 ID 和 MAS 版本使用我的分发证书签署计时试用版。

如果用户下载了计时赛,然后决定从 MAS 购买:

  1. MAS 会允许他们购买还是会提示用户他们已经安装了应用程序(因为他们共享相同的捆绑标识符)?

  2. 我希望它们共享相同的包标识符的原因是计时试用版和 MAS 版本都可以共享它们的应用程序沙箱数据和钥匙串数据。这可能吗?

(我考虑过使用 IAP 并完全取消计时,但是 IAP 不允许我想使用的批量定价。)

4

1 回答 1

4
  1. MAS 将提醒用户他们已经安装了该应用程序。您的用户需要先删除试用版。

  2. 不会。即使它们具有相同的捆绑包标识符,系统沙盒守护程序sandboxd通常也会拒绝访问其中一个应用程序(通常是他们第二次下载的应用程序)。这是因为沙盒目录以加密方式链接到其主机应用程序。除了对应用程序进行签名之外,您的应用程序还会获得一个独特的签名,例如 SHA-1 哈希,每次都将完全不同。这意味着,当您第二次下载该应用程序时(即从网站下载,之前从 MAS 下载该应用程序时),如果沙箱链接到具有不同签名的应用程序,沙箱访问将被拒绝。

现在,如果幸运的话,用户可能会先下载 MAS 版本,然后可能(出于某种原因)进入试用版。这可能有效,但不能保证它会而且我不会依赖它。有些人很幸运,比如那些因为沙拳击受挫而决定放弃 MAS 的人。

于 2013-10-12T23:54:37.910 回答