我接近开发 iPhone 应用程序的最后阶段,并将发布它作为“精简”(广告支持)版本和“专业”(无广告,可能在某些时候具有附加功能)版本。
我在这里和其他地方都遵循了有关创建多个目标等的建议,并且能够毫无问题地构建这些目标。
但这确实让我想到了一个问题:处理从精简版应用程序过渡到专业版应用程序的最佳、最用户友好、可接受的方式是什么?
正如我所看到的 - 如果我的任何假设是错误的,请纠正我 - 可能有两种方法可以做到这一点:
为每个应用程序提供自己的 Bundle 标识符(即 com.companyname.fooapplite 和 com.companyname.fooapppro)。这将导致两者都被视为完全独立的实体。如果用户从一个移动到另一个,数据不会自动迁移,并且两者很可能同时安装在同一部 iPhone 上。
为每个应用程序提供相同的 Bundle 标识符(即 com.companyname.fooapp),以便将它们视为本质上相同的应用程序。如果他们下载并安装应用程序的精简版,专业版将覆盖它。精简版的数据保存在专业版中。
后者对我来说似乎很理想——我无法想象有人在购买了专业版后想要保留精简版——但这带来了一些问题:
苹果甚至允许选项#2吗?
使用选项 #2 会导致我应该注意的任何愚蠢行为,即。这两个版本以某种方式互相踩踏。
如果不允许,是否有建议的做法来从基本上两个完全不同的应用程序迁移数据?我知道 StoreKit,但免费应用程序不支持它。
事实上,这个当前的应用程序并没有真正产生巨大价值的数据,最糟糕的事情是用户在升级到 pro 后将不得不重新输入一些身份验证凭据。但在未来,如果我要开发一个类似的应用程序来在本地存储有价值的数据,我想知道如何以无缝的方式最好地转换用户及其数据。
谢谢,
- 杰夫