NSLog
работает отлично .
Вы просто не видите, что регистрируется в области отладки Xcode, потому что отладчик Xcode не подключен к вашему расширению. Расширения почти полностью независимы от своего приложения. Например, у них есть отдельные идентификаторы пакетов, и они также являются отдельными процессами в ОС.
У меня были разные успехи в подключении Xcode к расширениям. Предположительно кажется, что он подключается автоматически, и в навигаторе отладки отображается как «Ожидание подключения», но никогда не подключается.
Иногда мне удается запустить цель расширения в Xcode:
А затем у меня есть возможность выбрать, в каком приложении запускать мое расширение. В этом случае я бы выбрал его рекомендацию «сегодня», которая является центром уведомлений.
А потом иногда присоединял отладчик к моему расширению. Обратите внимание, что этот метод работает только на физических устройствах.
Если он не прикрепляется, вы можете использовать метод ручного прикрепления в ответе @VinceYaun,
У меня также был переменный успех, используя другие методы привязанности. Большинство из них были безуспешными, и кажется, что это просто ошибки, которые будут исправлены позже.
Чтобы просмотреть сообщения журнала, перейдите в Window
-> Devices
на верхней панели и выберите свое устройство. Вы можете открыть журнал устройства в нижней части этого окна. Если вы тестируете на симуляторе, вы можете использовать ответ @ BalestraPatrick .
Некоторые ошибки были исправлены в бета-версии 2, и я предполагаю, что в конечном итоге отладчик подключится автоматически при запуске расширения.
Обновление: в примечаниях к выпуску iOS 8 Beta 4 :
Расширения
Исправлено в бета 4
- Иногда расширения не запускаются при отладке из Xcode.
- Когда расширение с пользовательским интерфейсом убито, оно перезапускается и не закрывается.
- Иногда может зависать ваше расширение общего доступа или действия.
- Повторное развертывание расширения может отключить его в Центре уведомлений.