优雅的方式来实现iOS应用程序内升级(功能解锁)

lms*_*lms 6 iphone objective-c app-store in-app-purchase ios

我有一个应用程序,并希望发布它的Lite版本,以提高可见性,让人们有机会先尝试.人们可以下载Lite版本,然后通过应用内购买升级到专业版,或者他们可以立即从应用商店购买专业版.

实现这一目标的最优雅方法是什么,以便最小化代码维护?有没有办法在单个XCode项目中实现它?

我想在standardUserDefaults中实现一个bool标志,当设置为YES时解锁升级(这是Lite版本).

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

执行"我是精简版或专业版"的代码然后只需要检查是否存在上述任何一个标志,并且我可以维护一个XCode项目 - 只要我在菜单或任何地方添加适当的逻辑隐藏Pro功能 - 但这对发布到应用商店有什么影响?

我是否认为在发布时,我只需要在提交之前编辑Bundle ID和Info.plist?

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