【问题标题】:Do I need to protect my desktop app if distributed over AppStore?如果通过 AppStore 分发,我是否需要保护我的桌面应用程序?
【发布时间】:2014-06-07 23:15:20
【问题描述】:

我制作了一个简单的桌面应用程序,我想通过 AppStore 进行销售。当然,我希望受到保护以防盗版。 AppStore 是否提供任何保护?这个过程是如何运作的?

例如,是什么阻止了不诚实的人购买我的应用,然后将其上传到 torrent 并与他人分享。如果这些其他人下载我的应用程序,在他们第一次尝试使用我的应用程序时,是否会自动要求他们进行身份检查(Apple ID 和密码),从而阻止他们在没有合法购买的情况下使用它。

如果此身份检查没有自动发生,那么我是否需要在我的应用程序中添加一些代码来要求进行身份检查。如果是这样,我在哪里可以找到有关如何执行此操作的信息?

我不完全确定这个过程是如何工作的。有人能解释一下吗?

【问题讨论】:

    标签: macos desktop mac-app-store license-key


    【解决方案1】:

    Mac App Store 每次下载到捆绑包时都会附上一张收据。收据包含有关使用的计算机(所谓的 GUID)和登录 App Store 的用户的信息。

    请参阅此处如何验证收据: https://developer.apple.com/library/mac/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573

    如果您按照文档中的说明实施 GUID 验证,则该应用程序将不会在任何其他计算机上运行。

    还要检查代码的签名以确保它没有被篡改: Verifying app's signature by code

    【讨论】:

    • 谢谢玛哈尔。很有帮助。
    【解决方案2】:

    您从 App Store 下载的应用程序包含收据。收据包含证明它是从 App Store 下载到这台计算机上的,以及应用程序的 ID。 Apple 网站上的某处有说明,告诉您如何验证收据以及如果验证失败该怎么办。

    也就是说,您最好专注于编写人们真正想要购买的应用程序。如果不能盗版,盗版您的应用程序的人不会交钱。他们会不使用它,选择一些免费的应用程序,或者选择他们可以盗版的不同应用程序。

    而且我很确定,您自己在应用中构建的任何复制保护都会被 App Store 拒绝。

    【讨论】:

    • 感谢您的回答。非常感激。我想知道的是,如果有人在 AppStore 上购买了我的应用程序,然后将其上传到洪流中。如果其他人随后从该 torrent 下载该应用程序,是什么阻止他运行该应用程序?
    【解决方案3】:

    尽管我得到的答案很有帮助,但它们并没有完全提供我需要的答案。环顾四周,我发现了一个来自 Laurent Etiemble 的名为 Receigen 的软件,他网站上的常见问题解答 (http://receigen.etiemble.com/faq.html) 为我正在寻找的东西提供了许多答案。比如

    什么是 App Store 收据验证?为什么需要它? 基本上,App Store 收据是应用程序必须检查以确保副本是真实的并且可以运行的。

    如果我不检查 App Store 收据会怎样? 好吧,任何拥有您的应用程序副本的人都可以运行它,无论是否获得适当的授权。

    代码收据验证好写吗? 不,因为它需要深入了解密码学和安全编码技术。

    Receigen 生成的代码让我免于处理收据验证代码,这也没有什么坏处。 Receigen 负责这部分,所以我可以专注于对我来说真正重要的事情:我的应用程序。

    是的,它要花钱,但我个人非常乐意支付,因为我发现这部分开发乏味、无聊和复杂。

    【讨论】:

    • “您请求的商品目前在美国商店中不可用。” ?
    【解决方案4】:

    TPInAppReceipt 是一个很棒的包。

    在尝试了许多其他不太成功的解决方案后,我能够轻松地添加本地收据验证:

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多