iPhone - изменить значок приложения программно во время выполнения

Я могу прочитать, что изменение значка приложения программно во время выполнения невозможно, по крайней мере, с iOS 3.0.

Но... Я регулярно вижу на веб-сайтах приложений приложения, которые могут помещать значки на трамплин. Первое, что я помню, это такое приложение, в котором вы даете фотографию друга из своего альбома, и оно создает иконку, чтобы вы могли позвонить ему, просто нажав на эту иконку:

http://itunes.apple.com/fr/app/speedtouch-the-best-home-screen/id378360978?mt=8
http://itunes.apple.com/fr/app/desktop-shortcut/id421701004?mt=8
http://itunes.apple.com/fr/app/appbutler-app-organizer/id327391626?mt=8
http://itunes.apple.com/fr/app/tap4music/id365578914?mt=8

Итак, я думаю, все еще невозможно программно изменить значок приложения во время выполнения?


person Oliver    schedule 31.01.2012    source источник
comment
Отвечает ли это на ваш вопрос? Изменение значка приложения iOS во время выполнения   -  person Cœur    schedule 26.02.2020


Ответы (3)


Обновлять

Apple изменила это, вы можете сделать это сейчас: https://developer.apple.com/documentation/uikit/uiapplication/2806818-setalternateiconname

Оригинальный ответ

Здесь вы имеете в виду веб-клипы, которые в основном представляют собой ярлыки для веб-сайтов на главном экране. Фактическое приложение не может изменить свой значок во время выполнения, поскольку он определен в статическом файле Info.plist.

Единственным исключением из этого правила являются приложения для газетного киоска.

person Ell Neal    schedule 31.01.2012
comment
Звонок через сайт? Открытие альбома iTunes с помощью ярлыка веб-сайта? Можете ли вы объяснить, как это можно сделать? Итак, как насчет открытия моего приложения через ярлык? - person Oliver; 31.01.2012
comment
Возможно, вы сможете взломать некоторые перенаправления и ответить на пользовательскую схему URL, чтобы это открыло ваше приложение, но я никогда раньше не пробовал ничего подобного, поэтому я не могу говорить о его целостности. - person Ell Neal; 31.01.2012

Теперь это возможно в iOS 10.3 с помощью API UIApplication.setAlternateIconName(_:completionHandler:).

См. мой ответ на этот вопрос: https://stackoverflow.com/a/44966454/233602

person Andrew Ebling    schedule 07.07.2017

Изменение вашего фактического значка (кроме, например, значка) потребует изменения пакета приложения. Я почти уверен, что у вас нет доступа для записи к пакету, и в любом случае это должно изменить сигнатуру кода, в результате чего ОС предотвратит запуск.

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

person Conrad Shultz    schedule 31.01.2012
comment
Вы правы, пакеты приложений доступны только для чтения, в основном из-за подписи кода. - person Calrion; 21.08.2012