【问题标题】:Is it possible to modify main bundle of iOS app?是否可以修改 iOS 应用程序的主包?
【发布时间】:2011-09-10 02:12:38
【问题描述】:

我想提供两个版本的 iOS 应用:付费版和免费版。我的目标是保持代码库不变,只更改一个标志来指示我要构建的版本。

here 所述,我为我的应用准备了两个构建目标来支持这种分离。这些目标的 Bundle ID 不同。

现在,我想根据给定的 Bundle ID 更改标志。我试图阅读主捆绑标识符,它工作得很好。我的问题从这里开始。

是否可以在下载免费应用后更改主捆绑 ID 以获得未经授权的付费版本访问权限?我发现hereherehere 不是。

但是...越狱手机呢?我在一些cmets上看过,是的。

如果是这样,我该如何保护我的应用?

我也在考虑定义像#define FREE_APP 这样的预处理器指令。然后我会检查:

#ifdef FREE_APP
    //show ads
#endif

但是这个解决方案不能仅仅通过选择构建来完全自动化——我仍然需要手动更改这个值——所以它不是最好的。将不胜感激。

【问题讨论】:

    标签: ios security ios4 nsbundle


    【解决方案1】:

    直接回答您的问题,几乎可以肯定。但我认为这并不重要。

    想要盗版您的应用程序的人可能会等到有人购买并破解您的付费应用程序;我怀疑他们会经历破解您的免费版本的麻烦。

    就我个人而言,我的项目中有两个目标。这两个应用程序有不同的Info.plists,免费版在构建设置中有一个#define。在我的代码中,我有很多 #ifdefs 正如你所建议的那样。可以实现自动化(但有时会有点混乱)。

    当然,您的另一个选择是通过 InAppPurchase 升级到完整版的单个应用程序。小心专利流氓。

    【讨论】:

    • 你可能是对的 - 等待会更容易。我只是不想让创建破解变得非常容易:) 还有一个问题-“免费版本在构建设置中有#define”是什么意思?您是如何将定义放入构建设置中的?
    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 2014-03-02
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多