tester - send push ios




Xcode 8 “a autorização do aps-environment está ausente da assinatura do aplicativo” no envio (8)

Depois de um dia de luta com o Xcode 8, não conseguimos descobrir por que o desenvolvimento do aps-environment NÃO foi adicionado às nossas compilações de depuração. Ele estava faltando na seção de direitos no aplicativo construído para testes de depuração ... mesmo que tivéssemos HABILITADO a nova capacidade e o arquivo de direitos existia. O problema é que o arquivo de direitos precisa ser definido para QUALQUER SDK nas Configurações de Criação do Xcode para Direitos de Depuração.

Eu tenho um aplicativo que enviamos dozends de versões nos últimos 6 meses e usamos o APNS. Recebi o seguinte email da Apple após a atualização para o Xcode 8

Caro desenvolvedor,

Descobrimos um ou mais problemas com sua entrega recente para o APP_NAME. Sua entrega foi bem-sucedida, mas você pode corrigir os seguintes problemas na próxima entrega:

Autorização de Notificação por Push Ausente - Seu aplicativo inclui uma API para o serviço de Notificação por Push da Apple, mas o direito do aps-environment está ausente da assinatura do aplicativo. Para resolver isso, verifique se seu ID do aplicativo está ativado para notificação por push no Portal de provisionamento. Em seguida, assine seu aplicativo com um perfil de fornecimento de distribuição que inclua o direito aps-environment. Isso criará a assinatura correta e você poderá reenviar seu aplicativo. Consulte "Aprovisionamento e desenvolvimento" no Guia de programação local e de notificação por push para obter mais informações. Se o seu aplicativo não usar o serviço Apple Push Notification, nenhuma ação será necessária. Você pode remover a API de envios futuros para interromper esse aviso. Se você usar uma estrutura de terceiros, talvez seja necessário entrar em contato com o desenvolvedor para obter informações sobre como remover a API.

Depois de corrigir os problemas, você pode usar o Xcode ou o Application Loader para carregar um novo binário para o iTunes Connect.

Saudações,

A equipe da App Store

O que é estranho é que eu fui ao developer.apple.com -> Certificados, Identificadores & Perfis e meu AppId tem Push Notifications habilitado ainda. Eu não estou fazendo nada diferente, então eu já fiz isso, então estou curioso para saber se a atualização do Xcode 8 quebrou alguma coisa. Alguma ideia?

BTW: O link que eles colocaram para o Push Notification Programming Guide foi quebrado no e-mail, então isso não é um bom sinal.


Eu recebi o mesmo email da Apple usando o XCode 7.3.1. O que eu fiz para resolver o problema foi:

  1. Em Capabilities> Defina a notificação PUSH como indicado na resposta @Bruce Tsai.
  2. Em Configurações de Criação> Assinatura de Código> Identidade de Assinatura de Código, defina o certificado de desenvolvedor para depuração e o certificado de distribuição para liberação, conforme mostrado na imagem:


Houve uma alteração no Xcode 8, onde seus direitos não vêm mais dos Identificadores de Aplicativo, mas dos recursos selecionados no destino do aplicativo. Então, como o Unome (o OP) disse, você precisa verificar se o Push Notifications está ativado.

Para mim, não era um botão "Fix Me", mas eu tinha dois arquivos de direitos (um para desenvolvimento e outro para distribuição). A alternância do recurso Notificações por push adicionaria a chave aps-environment - com o development valor - ao arquivo de direitos de desenvolvimento, mas não a adicionaria ao arquivo de direitos de distribuição. Copiar a mesma chave para a distribuição funcionou para se livrar do e-mail de aviso ao fazer o upload para o iTunes Connect.

Para a maioria dos projetos, deve ser suficiente alternar em Notificações por push ou, se já estiver ativada, mas a chave não estiver nos direitos, tente desativá-la e ligá-la novamente.


Mais uma opção que funcionou: copiar e colar a fonte de AppName/Entitlements-Debug.plist em AppName/Entitlements-Release.plist .


Nas notas da versão do Xcode:

O Xcode 8 não copia automaticamente o direito aps-environment dos perfis de provisionamento no momento da criação. Esse comportamento é intencional. Para usar esse direito, ative as notificações por push no painel de recursos do editor de projeto ou adicione manualmente o direito ao arquivo de direitos. (28076333)

Esta é uma grande mudança, pois sempre foi muito estranho que o direito ao aps-environment não exigisse o plist, mas muitos outros o fizeram.

Para aqueles de vocês que não querem apenas pressionar cegamente "Fix Me" e atualmente não têm um arquivo de direitos, é apenas um arquivo plist que é referenciado nas Configurações de Construção do seu projeto em "Direitos de Assinatura de Código"


Para mim, o problema foi porque havia dois arquivos de direitos: Entitlements-Debug.plist e Entitlements-Release.plist . E apenas um deles (Debug) precisa de configurações.

A alteração do valor múltiplo de Configurações de Criação> Assinaturas> MyAppName/MyAppName.entitlements Assinatura de Código para um único MyAppName/MyAppName.entitlements e, em seguida, reativação de Recursos> Comutador de Notificações por Push fez o truque para mim.

Espero que ajude.


Usando o Xcode 9, as notificações por push foram ativadas.

Tentei desativar / reativar os recursos de notificação por push . (não funcionou)

Tentei desativar / reativar o gerenciamento automático da assinatura . (não funcionou)

Acontece que eu tive que excluir e adicionar novamente meus perfis de provisionamento. ( veja aqui como fazer ) Você pode ter que desabilitar / reativar Gerenciar automaticamente a assinatura após as alas.


Gerenciar automaticamente a assinatura foi desligado para mim, eu verifiquei e funcionando bem para mim.





apple-push-notifications