分布在Mac App Store和外部

时间:2013-10-12 23:44:01

标签: macos cocoa mac-app-store

我有一台Mac应用程序,我计划很快推出。

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

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

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

  1. MAS会让他们购买,还是会提示用户他们已经安装了应用程序(由于他们共享相同的软件包标识符)?

  2. 我希望他们共享相同的包标识符的原因是,计时和MAS版本都可以共享他们的应用程序沙盒数据和Keychain数据。这可能吗?

  3. (我考虑过使用IAP并完全取消时间试验,但IAP不允许我想使用的批量定价。)

1 个答案:

答案 0 :(得分:4)

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

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

  3. 现在,如果你很幸运,用户可能会首先下载MAS版本,然后(出于某种原因)可以进入试用版。这可能会有效,但不能保证会这样,我也不会依赖它。有些人幸运的是,就像那些决定放弃MAS而不是沙拳挫折的人一样。