Хобрук: Ваш путь к мастерству в программировании

Есть ли способ узнать, установлено ли уже приложение для iPhone/iPad?

Я пишу бесплатную версию приложения и хотел бы проверить, установлена ​​ли у пользователя несвободная версия, и распечатать сообщение, содержание которого зависит от результатов проверки установки... кто-нибудь знает, возможно ли это?

самое близкое, что я пришел к решению, - это использовать API CFPreferencesSetValue с парой kCFPreferencesAnyUser / kCFPreferencesCurrentHost... Я не пробовал, но, судя по документации, это кажется возможным.

однако в моей текущей конкретной ситуации этот API не сможет решить мою проблему, потому что я хочу проверить наличие приложения, которое я написал 4 месяца назад, которое не записывало никаких данных в реестр CFPrefs... потому что тогда Я не знал об этом и не предвидел возникновения такой ситуации ... единственный способ, которым CFPrefs может помочь мне, - это будущие приложения, теперь, когда я знаю, что они существуют :)

поэтому мне интересно, есть ли другие способы сделать это? любая помощь будет оценена :)

03.06.2010

Ответы:


1

Вы можете зарегистрировать пользовательскую схему URL-адресов для своего существующего приложения, а затем вызвать canOpenURL в вашем новом приложении, чтобы определить, установлено ли приложение.

03.06.2010

2

Согласно этому ответу, если у вас есть тот же идентификатор приложения верхнего уровня, с которым вы можете получить доступ к области данных вашего другого приложения. Я считаю, что идентификаторы приложений с подстановочными знаками также могут обмениваться данными, см. документацию портала подготовки < /а>.

03.06.2010

3

Вы можете обмениваться данными между приложениями через связку ключей. Запишите данные в полном приложении и проверьте в бесплатном или наоборот.

03.06.2010


5

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

Лучшее, что вы можете сделать (в будущем), — это зарегистрировать обработчик URL-адресов, который запустит другое ваше приложение и, в свою очередь, повторно запустит ваше текущее приложение с параметром.

-дан

03.06.2010
  • Вопреки тому, что вы думаете, песочница не скрывает эту информацию. 03.06.2010
  • KennyTM, можно подробнее? Является ли метод, который обходит песочницу, чем-то, что может быть отклонено доской AppReview? 04.06.2010
  • @eerok: это использует частный API (liblockdown или GraphicsServices), поэтому оно будет отклонено. 04.06.2010
  • Новые материалы

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

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

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..