Eu tenho um aplicativo para o qual enviamos dezenas de versões nos últimos 6 meses e usamos APNS. Recebi o seguinte e-mail da Apple após atualizar para o Xcode 8
Caro desenvolvedor,
Detetámos um ou mais problemas com a sua entrega recente de APP_NAME. Sua entrega foi bem-sucedida, mas você pode querer corrigir os seguintes problemas em sua 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 a autorização do aps-environment está ausente na assinatura do aplicativo. Para resolver isso, certifique-se de que seu ID de aplicativo esteja habilitado para notificação push no Portal de provisionamento. Em seguida, assine seu aplicativo com um perfil de provisionamento de distribuição que inclui o direito aps-environment. Isso criará a assinatura correta e você poderá reenviar seu aplicativo. Consulte "Provisioning and Development" no Local and Push Notification Programming Guide para obter mais informações. Se o seu aplicativo não usa o serviço Apple Push Notification, nenhuma ação é necessária. Você pode remover a API de envios futuros para interromper este aviso. Se você usa uma estrutura de terceiros,
Depois de corrigir os problemas, você pode usar o Xcode ou o Application Loader para fazer upload de um novo binário para o iTunes Connect.
Saudações,
A equipe da App Store
O estranho é que fui para developer.apple.com -> Certificados, identificadores e perfis e meu AppId ainda tem notificações push ativadas. Não estou fazendo nada diferente do que já fiz, então estou curioso se a atualização do Xcode 8 quebrou alguma coisa. Alguma ideia?
BTW: o link que eles colocaram para o Guia de programação de notificação push foi quebrado no e-mail, então isso não é um bom sinal.
Eu também tenho o mesmo problema e tenho certeza de que a notificação push está desativada por padrão no Xcode8. Eu não percebi. Tenha cuidado com isso.
fonte
Houve uma mudança no Xcode 8, onde seus direitos não vêm mais dos identificadores de aplicativo, mas dos recursos selecionados no destino do seu aplicativo. Então, como Unome (o OP) disse, você deve verificar se as notificações push estão ativadas.
Para mim, não era um botão "Corrigir", mas eu tinha dois arquivos de direitos (um para desenvolvimento e outro para distribuição). Alternar o recurso de notificações por push adicionaria a
aps-environment
chave - com o valordevelopment
- ao arquivo de direitos de desenvolvimento, mas não o 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 upload para o iTunes Connect.Para a maioria dos projetos, deve ser suficiente ativar as notificações push ou, se já estiverem ativadas, mas a chave não estiver nos direitos, tente ativá-las novamente.
fonte
.entitlements
arquivo para a configuração / esquema atual, ele sempre usaproduction
como oaps-environment
.production
.development
. Será alterado no ipa quando o projeto for arquivado.Das notas de lançamento do Xcode :
Esta é uma grande mudança, pois sempre foi bastante estranho que o direito aps-environment não exigisse o plist, mas muitos outros exigiam.
Para aqueles de vocês que não querem apenas pressionar cegamente "Corrigir" e não têm atualmente 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"
fonte
Depois de um dia de luta com o Xcode 8, não conseguimos descobrir porque o
aps-environment
desenvolvimento NÃO foi adicionado às nossas compilações de depuração. Ele estava faltando na seção de direitos no aplicativo construído para teste de depuração ... embora tivéssemos ATIVADO o novo recurso e o arquivo de direitos existisse. O problema é que o arquivo de direitos precisa ser definido para QUALQUER SDK nas configurações de compilação do Xcode para direitos de depuração.fonte
Debug
chave e defini-lo para oDebug
>Any SDK
, já que o último é usado para substituir o valor de um SDK específico.Recebi o mesmo e-mail da Apple usando o XCode 7.3.1. O que fiz para resolver o problema foi:
fonte
Se você estiver usando estruturas do Firebase e não estiver usando notificações push, existem duas soluções: 1. apenas aceite a mensagem de 'problema' que é enviada para toda a sua equipe sempre que enviar um binário. O aplicativo ainda será aceito como um envio, desde que você não esteja realmente usando notificações, você pode ignorar o aviso. ou 2. faça isso: https://stackoverflow.com/a/46802075/7529450 . Isso removerá a irritante notificação por e-mail e também será aceito como um envio.
fonte
Gerenciar automaticamente a assinatura estava desativada para mim, verifiquei e está funcionando bem para mim.
fonte
O uso de notificações push do Xcode 9 foi ativado.
Tentei desativar / reativar os recursos de notificação por push . (não funcionou)
Tentei desativar / reativar Gerenciar assinatura automaticamente . (não funcionou)
Acontece que tive que excluir e adicionar novamente meus perfis de provisionamento. ( veja aqui como fazê-lo ) Você pode ter que desabilitar / reabilitar Gerenciar automaticamente a assinatura após wards.
fonte
Para mim, o problema era porque havia dois arquivos de direitos:
Entitlements-Debug.plist
eEntitlements-Release.plist
. E apenas um deles (Debug) tem configurações necessárias nele.Alterar vários valores de Configurações de compilação> Assinatura> Direitos de assinatura de código para um único
MyAppName/MyAppName.entitlements
e, em seguida, reativar recursos> Notificações push alternador de funcionou para mim.Espero que ajude.
fonte
Mais uma opção que funcionou: copiar e colar a origem do
AppName/Entitlements-Debug.plist
emAppName/Entitlements-Release.plist
.fonte