Запуск расширения iOS8 на симуляторе не предлагает подходящего хост-приложения

Когда я запускаю свое расширение действия ios8 на симуляторе iPhone, оно дает мне список приложений для работы в качестве хоста, но предлагает только «сегодня» и мое собственное приложение, хотя я указал следующее в NSExtensionActivationRule в plist: NSExtensionActivationSupportsImageWithMaxCount:1 NSExtensionActivationSupportsWebURLWithMaxCount:1

так что я бы ожидал сафари, фотографии и т. д.


person Neil Coxhead    schedule 19.08.2014    source источник
comment
Я создал расширение «Действие» и проверил его в приложении «Фотографии». В каком хост-приложении вы ищете свое расширение?   -  person Paramasivan Samuttiram    schedule 19.08.2014


Ответы (2)


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

Я отлаживал расширения всю неделю, и я бы предложил этот (не слишком длинный) процесс:

  1. Запустите приложение, чтобы ваша последняя версия расширения была загружена в симулятор.
  2. Затем остановите приложение, чтобы симулятор не использовался.
  3. Прикрепить к расширению через этот пункт меню Xcode: Отладка-> Присоединить к процессу-> По идентификатору процесса (PID) или имени
  4. Xcode теперь скажет «Ожидание запуска« ИМЯ РАСШИРЕНИЯ ЗДЕСЬ »» и может предложить вам «принять соответствующие меры»
  5. (В симуляторе) Запустите Safari (или соответствующее приложение) и взаимодействуйте так, как если бы Xcode запустил его на вашем устройстве.
  6. Как только ваше расширение будет запущено, Xcode подключится, и вы сможете отлаживать

Я бы порекомендовал привязать этот пункт меню к сочетанию клавиш (я использовал Opt-Shift-Cmd-A, потому что ненавижу свой запястный туннель), потому что это два элемента вниз, а дурацкое меню прикрепления загружает весь активный процесс ПОСЛЕ его открытия, поэтому элемент, который вы хотите перейти к верхней части экрана.

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

Это немного ускорило мой процесс отладки.

person DanBlakemore    schedule 30.08.2014
comment
Кроме того, я должен упомянуть, что я взял этот процесс из другого сообщения (возможно, на SO), но я прочитал так много материала на этой неделе, что не могу вспомнить, где. Так что, если вы найдете это на SO, проголосуйте за них и дайте ссылку здесь, чтобы я тоже мог. - person DanBlakemore; 31.08.2014

Создание расширения действия включает в себя следующие три шага.

1) Создайте цель с шаблоном «Расширение действия».

введите здесь описание изображения

2) Перейдите в приложение iPhone «Фотографии», выберите фотографию и нажмите значок «Поделиться». Он покажет действия «Поделиться» (FB, Twitter и т. д.) и действия «Действие» (копирование, слайд-шоу и т. д.). Перейдите в конец действий «Действие» и нажмите кнопку «Дополнительно».

введите здесь описание изображения

3) На странице «Действия» вы должны включить расширение «Действие».

введите здесь описание изображения

person Paramasivan Samuttiram    schedule 19.08.2014
comment
Запустив расширение непосредственно из симулятора, как вы предложили, я действительно могу его запустить, но оно все еще не отлаживает, потому что я все еще не получаю «Фотографии» в параметрах хост-приложения. - person Neil Coxhead; 21.08.2014
comment
Вы имеете в виду, что в вашем хост-приложении нет фотографий? - person Paramasivan Samuttiram; 21.08.2014
comment
Я не говорил о моем хост-приложении, то есть об основном приложении, в которое встроено мое расширение, я имею в виду хост-приложение, которое должно иметь возможность запускать мое расширение. - person Neil Coxhead; 27.08.2014
comment
Если вы имели в виду, что в моем приложении для фотографий на симуляторе нет фотографий, оно есть, и я добавил одну из своих, включил свое расширение в меню «... больше», но при отладке я до сих пор не предлагают запустить его через приложение для фотографий. - person Neil Coxhead; 27.08.2014
comment
я сделал то же самое, но это не отображается в действиях (устройство), пожалуйста, обратитесь к моему вопросу stackoverflow.com/questions/35268508/ - person Sanju; 09.02.2016