在运行时以编程方式在appicon-sets之间切换

时间:2015-03-09 16:10:27

标签: ios xcode6

我使用Xcode 6创建了两个版本的iOS应用程序:免费和付费。为了在视觉上区分彼此,我使用不同的背景颜色:免费版本是橙色而付费版本是红色。我在两个版本中使用一个单独的项目,并且全局布尔变量将整个应用程序从免费更改为付费(反之亦然)。

当然,所有图标也必须不同。我需要两个appicon套装:一个装有橙色图标,另一个装有红色图标。

所以我的问题是:如何在运行时以编程方式在两个appicon集之间切换?如何告诉我的项目,如果全局变量为false,则使用橙色图标集,如果为true则使用红色图标设置?

下一张图片说明两个appicon集,但如何在代码中调用它们?

enter image description here

这个想法是,如果到月底你忘了支付订阅费用,那么应用程序会变成橙色,然后你会在视觉上意识到你忘了支付,而在你支付应用程序后再次变成红色。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

简短回答:你不能这样做。

答案很长:假设您想拥有一个付费应用和一个免费应用(与一个免费应用购买应用相比),您应该为您的免费和付费版本使用不同的targets。您可以为每个目标使用不同的info.plist文件,并在这些文件中指定要用作应用程序图标的图像。您也可以在那里更改应用程序和包名称,以便在App Store上有两个不同的应用程序。

添加一个标识目标的预处理器宏,然后您可以在代码中使用它来在编译时定义差异:

#ifdef LITE_VERSION
    [self showAds];
#else
    [self showUsefulInformation];
#endif

答案 2 :(得分:0)

Apple不允许在运行时切换App图标。因此无法在App图标之间切换。如果您需要这样做,请在iTunesConnect中使用不同的应用程序名称创建两个应用程序。