优雅地实现iOS应用内升级(功能解锁)

发布于 2024-10-14 21:07:12 字数 514 浏览 4 评论 0原文

我有一个应用程序,想要发布它的 Lite 版本以提高可见性并让人们有机会先尝试它。人们可以下载 Lite 版本,然后通过应用内购买升级到 Pro,也可以立即从应用商店购买 Pro 版本。

实现这一点以最大限度地减少代码维护的最优雅的方法是什么?有没有办法在单个 XCode 项目中实现它?

我正在考虑在 standardUserDefaults 中实现一个 bool 标志,当设置为 YES 时会解锁升级(这是针对 Lite 版本)。

然后对于 Pro 版本,我的想法是在 Info.plist 文件中包含一个 BOOL 标志。

然后,执行“我是 Lite 还是 Pro”的代码只需检查是否存在上述任一标志,我就可以维护单个 XCode 项目——只要我在菜单中或其他位置添加适当的逻辑隐藏专业版功能 - 但这对于发布到应用程序商店有什么影响?

我是否正确地认为发布时只需在提交之前编辑 Bundle ID 和 Info.plist 即可?

其他人是如何解决这个问题的?这是我第一次这样做,所以很想听听有经验的人的意见。

I have an app and want to release a Lite version of it to increase visibility and give people a chance to try it first. People can either download the Lite version and then upgrade to Pro through in-app purchase, or they can immediately buy the Pro version from the app store.

What's the most elegant way to implement this so that code maintenance is minimised? Is there a way to implement it in a single XCode project?

I was thinking of implementing a bool flag in the standardUserDefaults, which when set to YES unlocks the upgrade (this is for the Lite version).

Then for the Pro version, my thoughts are to include a BOOL flag in the Info.plist file.

The code that does the "am I a Lite or Pro" then just has to check for the presence of either of the above flags and I can maintain a single XCode project--as long as I add the appropriate logic in the menus or wherever to hide the Pro features--but what implications does this have for publishing to the app store?

Am I correct in thinking that when publishing, I just have to edit the Bundle ID and Info.plist before submitting?

How have others solved this problem? It's the first time I'm doing it so would love to hear some input from people with experience.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文