Я создал две версии своего приложения для iOS с Xcode 6: бесплатную и платную. Чтобы визуально отличить один от другого, я использую разные цвета фона: бесплатная версия - оранжевый, а платная - красный. Я использую один проект для обеих версий, а глобальная логическая переменная меняет все приложение с бесплатного на платное (и наоборот).

Конечно, все значки тоже должны быть разными. Мне нужны два набора значков приложений: один с оранжевыми значками, а другой с красными значками.

Итак, моя проблема: как программно переключаться между двумя наборами значков приложений во время выполнения? Как сообщить моему проекту, что, если глобальная переменная имеет значение false, использовать набор оранжевых значков, а если это правда, использовать набор красных значков?

На следующем изображении показаны два набора значков приложений, но как их вызвать в коде?

enter image description here

Идея состоит в том, что если к концу месяца вы забудете оплатить подписку, приложение станет оранжевым, тогда вы визуально поймете, что забыли заплатить, а после оплаты приложение снова станет красным.

0
Jose Manuel Abarca Rodríguez 9 Мар 2015 в 19:10

3 ответа

Лучший ответ

Краткий ответ: вы не можете этого сделать.

Длинный ответ: предположим, что вы хотите иметь одно платное приложение и одно бесплатное приложение (в отличие от одного бесплатного приложения с покупками в приложении), вам следует использовать разные target для вашей бесплатной и платной версии. Вы можете использовать разные файлы info.plist для каждой цели, и в этом файле укажите изображение, которое будет использоваться в качестве значка приложения. Также вы можете изменить название приложения и пакета, чтобы у вас было два разных приложения в App Store.

Добавьте макрос препроцессора, который идентифицирует вашу цель, затем вы можете использовать его в своем коде для определения различий во время компиляции:

#ifdef LITE_VERSION
    [self showAds];
#else
    [self showUsefulInformation];
#endif
0
Cornelius 9 Мар 2015 в 16:21

Apple не разрешает переключение значков приложений во время выполнения. Таким образом, переключение между значками приложений невозможно. Если вам нужно это сделать, создайте в iTunesConnect два приложения с разными именами.

0
abintom 9 Мар 2015 в 16:37

Вы можете попробовать метод ниже, представленный в iOS 10.3. https://developer.apple.com/reference/uikit/uiapplication/2806818- setalternateiconname

2
Chintan Prajapati 29 Мар 2017 в 06:05