2015-10-26 3 views
4

Что касается новых возможностей 3D Touch с новым iPhone 6s/6s +, я пытаюсь добавить некоторые быстрые действия на домашнем экране в свое приложение.Silent 3D Touch Quick Action

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

Мой вопрос: Возможно ли создать бесшумное действие среди доступных быстрых действий? К silent Я имею в виду, что произойдет определенное действие, но приложение не завершит запуск? Или, альтернативно, запуск, но не будет на переднем плане?

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

После прочтения большей части документации компании Apple по этой теме у меня есть ощущение, что это не возможно с текущей API доступной - но я надеюсь, что кто-то удивит меня ...

ответ

2

Nope. Пользователь, вызывающий домашний экран Быстрое действие всегда активирует приложение.

Если ваше приложение уже запущено и приостановлено, оно выходит на передний план, и ваш делегат приложения получает сообщение application:performActionForShortcutItem:completionHandler:. Если ваше приложение не было запущено (т. Е. Не было запущено с момента установки или ранее было установлено/приостановлено, но позже было очищено из памяти), он запускается, и ваш делегат приложения получает сообщение application:didFinishLaunchingWithOptions:, а затем сообщение application:performActionForShortcutItem:completionHandler:. (Таким образом, ваш обработчик did/willFinishLaunching должен проверить словарь опций для возможности запуска с помощью быстрого действия.)

В любом случае ваше приложение выходит на передний план.

+0

Если мы не добавим какой-либо реализации, связанной с быстрым действием 3D, я полагаю, что поведение по умолчанию - это открытие экрана совместного доступа без запуска приложения (реализация Apple по умолчанию). Поэтому я попытался реализовать ту же функцию, но, похоже, я не могу ее поддерживать, если добавить более оригинальные быстрые действия. – tokentoken

+0

@tokentoken Вы решили это? – user2931321

Смежные вопросы