我想提供两个版本的 iOS 应用程序:付费和免费广告。我的目标是保持代码库不变,只更改一个标志来指示我要构建的版本。
我已经为我的应用程序准备了两个构建目标来支持这种分离,如此处所述。这些目标的 Bundle ID 不同。
现在,我想根据给定的 Bundle ID 更改标志。我试图阅读主捆绑标识符,它工作得很好。我的问题从这里开始。
下载免费应用程序后是否可以更改主捆绑 ID 以获得对付费版本的未经授权的访问?我发现here,here和here并非如此。
但是……越狱手机呢?我读过一些评论,确实如此。
如果是这样,我该如何保护我的应用程序?
我也在考虑定义预处理器指令,例如#define FREE_APP
. 然后我会检查:
#ifdef FREE_APP
//show ads
#endif
但是这个解决方案不能仅仅通过选择构建来完全自动化——我仍然需要手动更改这个值——所以它不是最好的。将不胜感激的建议。