NSLog
está funcionando perfeitamente .
Você simplesmente não vê o que está sendo registrado na área de depuração do Xcode porque o depurador Xcode não está conectado à sua extensão. As extensões são quase completamente independentes do aplicativo que as contém. Eles têm identificadores de pacote separados, por exemplo, e também são processos separados no SO.
Tive sucesso variado em fazer com que o Xcode fosse anexado a extensões. Supostamente, parece que ele seria anexado automaticamente e aparece no navegador de depuração como "Aguardando anexar", mas nunca é anexado.
Às vezes, consigo executar meu destino de extensão no Xcode:
E então tenho a opção de escolher em qual aplicativo executar minha extensão. Nesse caso, eu escolheria sua recomendação de "hoje", que é a central de notificações.
E às vezes ele anexava o depurador à minha extensão. Observe que este método só funciona em dispositivos físicos, ao que parece.
Se não anexar, você pode usar o método de anexação manual na resposta de @VinceYaun,
Também tive sucesso variado usando outros métodos de fixação. A maioria não teve êxito e parece que são apenas bugs que serão corrigidos posteriormente.
Para visualizar suas mensagens de log, vá para Window
-> Devices
na barra superior e selecione seu dispositivo. Você pode abrir o registro do dispositivo na parte inferior dessa janela. Se você estiver testando em um simulador, pode usar a resposta de @BalestraPatrick .
Alguns dos bugs foram corrigidos no Beta 2, e meu palpite é que, eventualmente, o depurador será anexado automaticamente ao iniciar a extensão.
Atualização: nas notas de lançamento do iOS 8 Beta 4 :
Extensões
Corrigido em beta 4
- As extensões às vezes falham ao iniciar durante a depuração do Xcode.
- Quando a extensão com IU é eliminada, ela é reiniciada e não é descartada.
- Às vezes, sua extensão de compartilhamento ou ação pode travar.
- Reimplantar uma extensão pode desativá-la na Central de Notificações.