Ios 同一应用程序的Pro和应用程序内版本

Ios 同一应用程序的Pro和应用程序内版本,ios,in-app-purchase,app-store,Ios,In App Purchase,App Store,我们在AppStore中有一个免费的应用程序,其中有一个专业的应用程序内购买。 在应用程序中,它是通常的appId,格式为com.our.appId.pro,并在userdefaults中设置一个布尔值,用于启用或禁用应用程序中的特定功能。一切正常 但是,我需要创建一个版本,它是专业的,只要你从AppStore下载。这将相当于一个已经购买了应用内购买的免费版本 我的问题是,最方便的方法是什么?我是否只是简单地更改appid并强制购买状态的布尔值为YES,然后将其作为另一个应用程序重新加载?我想如

我们在AppStore中有一个免费的应用程序,其中有一个专业的应用程序内购买。 在应用程序中,它是通常的appId,格式为
com.our.appId.pro
,并在userdefaults中设置一个布尔值,用于启用或禁用应用程序中的特定功能。一切正常

但是,我需要创建一个版本,它是专业的,只要你从AppStore下载。这将相当于一个已经购买了应用内购买的免费版本

我的问题是,最方便的方法是什么?我是否只是简单地更改appid并强制购买状态的布尔值为YES,然后将其作为另一个应用程序重新加载?我想如果没有另一个app/appid,这是不可能实现的(这就是为什么应用内购买首先要实现…)


谢谢

是的,如果你想提交一个功能齐全的应用,包括旧版本的应用内购买功能,那么只需更改新应用的捆绑Id即可

在iTunes上使用不同的应用程序名称和所有功能制作一个新应用程序,而无需在应用程序内购买旧版本的附加功能

那你就可以走了

另一种选择是,如果你不想使用应用程序的专业版,那么请从免费版中删除应用程序内购买,并提高免费版的价格级别,然后再次提交应用程序而不进行应用程序内购买


希望这对您有所帮助。

您还应该提到,OP需要在他的Xcode项目中创建两个几乎相同的目标,其中一个需要包含一个常量(如
-DPRO_VERSION=1
),以便他可以使用条件复杂化来删除应用内购买代码。@Manthan我认为这是唯一的选择:(@trojanfoe我真的需要删除代码本身吗?我的意思是,我可以在第一次启动时根据appid将bool设置为true,这样应用程序内的购买UI就不会出现,应用程序会识别自己为“pro”。@Templar不,你不必这么做,但你需要知道你是否在构建pro版本,所以你需要持续的set,因此您最好使用它来删除不必要的代码。@trojanfoe获得了它:)。谢谢您的解释。