Eu tenho um aplicativo para envio quando ele foi rejeitado e recebi a mensagem
Direito de notificação por push ausente - Seu aplicativo parece registrar-se no serviço Apple Push Notification, mas os direitos da assinatura do aplicativo não incluem o direito "aps-environment". Se seu aplicativo usar o serviço Apple Push Notification, verifique se o ID do aplicativo está ativado para Push Notification no Portal de provisionamento e reenvie após assinar seu aplicativo com um perfil de provisionamento de distribuição que inclua o direito "aps-environment".
Eu verifiquei meu aprovisionamento ad-hoc e lá encontrei o ambiente e a produção de APs, no entanto, quando abro meu aprovisionamento de distribuição, não encontro esse.
É essa a causa dessa mensagem de erro e rejeição da maçã, como posso corrigi-la?
fonte
certifique-se de que sua notificação por push de ID seja ativada no lado da produção
como aparecem na imagem
da seção de produção, crie dois certificados com seu ID (notificação por push ativada)
App Store e certificado Ad Hoc
Certificado SSL (Sandbox) do serviço de notificação por push da Apple
Na seção Distribuição, crie um perfil da App Store com seu ID
enquanto você carrega sua lixeira, deve verificar qual perfil de provisionamento usado e tem muitos direitos
isso todos os casos causam esse problema espero que isso seja útil com você
fonte
No XCode 8, você precisa ativar o push na guia Capacidades do seu destino, além de ativar tudo o que está relacionado às provisões e certificados: Xcode 8 "o direito do ambiente aps está ausente na assinatura do aplicativo" ao enviar
Meu post sobre isso aqui .
fonte
Recebi esta mensagem por um motivo diferente - enviei um aplicativo via Xcode sem antes criar um perfil de distribuição da App Store especificamente para o aplicativo. Acredito que o Xcode use automaticamente um perfil curinga da App Store se você tiver um instalado. Mas um aplicativo usa o Push Notifications requer seu próprio perfil.
A correção é criar um novo perfil de distribuição da App Store para o aplicativo. Em seguida, faça o download, arraste-o para o Xcode e modifique seu projeto Build Settings> Code Signing> Release para usar o novo perfil.
fonte
Seguindo a resposta dada por @Vaiden, no Xcode 8, você pode resolver esse problema selecionando o destino e clicando em "Corrigir problema". Obviamente, você ainda precisará configurar notificações por push no portal do desenvolvedor da Apple (você pode simplificar um pouco o processo usando a nova opção "Gerenciar assinatura automaticamente", o que poupa o trabalho de baixar os perfis de provisionamento).
fonte
Para aqueles que estão enfrentando esse problema que realmente estão usando o Push Notifications em seus aplicativos:
Recentemente, como nossos certificados estavam prestes a expirar, criamos novos certificados de dev / prod da maneira padrão descrita pela Apple (não entrarei em detalhes aqui, há muitas informações em toda a web ao atualizar seus certificados por mais um ano de uso).
Depois de fazer isso, no entanto, o problema nesta pergunta apareceu. Não importa o que fizemos, recebemos este e-mail da Apple após o envio do aplicativo. Quando verificamos as configurações do nosso Perfil de provisionamento de distribuição no Apple Member Center, tudo parecia bem (o Push foi ativado para o nosso App ID para ambos prod / dev, e nosso perfil de provisionamento de distribuição ainda estava conectado a esse App ID, literalmente acabamos de criar novos certificados por mais um ano, como é a prática padrão).
Finalmente, foi isso que acabou resolvendo para mim:
Eu sei que isso não é tão detalhado quanto deveria, e deve ter capturas de tela. Tentarei atualizá-lo com capturas de tela quando puder, mas, por enquanto, estou em uma crise de tempo no momento e queria ter a oportunidade de o que eu fiz lá fora. Também há uma chance muito provável de que algumas ou a maioria das etapas que descrevi não sejam necessárias, estou colocando-as aqui porque as fiz e elas podem ter levado à solução final.
fonte
verifique se o ID do seu aplicativo está ativado por push ou não no developer.apple.com no iOS Provisioning Portal. Se não estiver ativado, configure o seu certificado SSL Push para o seu ID do aplicativo Faça o download e reinstale em seu chaveiro novamente. no seu Xcode Liabrary
fonte
Eu também estava enfrentando esse problema, mesmo que não estivesse usando notificações por push no meu aplicativo. Criar um novo perfil de provisionamento também não funcionou para mim.
1.Crie um novo certificado novo apenas para a Ad hoc & App Store.
2.Em seguida, faça o perfil de distribuição com este certificado e integre o perfil ao Xcode.
A construção recém-enviada com este perfil é aprovada sem nenhum aviso.
fonte
No meu caso, até eu criei um myapp.profile e o configurei manualmente no xcode, e quando escolhi "show in finder" e localizei o embedded.mobileprovision e verifiquei se o aps-environment está lá no arquivo, o erro foi ainda lá.
Fui ao desenvolvedor center e constatei que o status do XC: myapp.profile é inválido. Atualizei e instalei o XC: myapp.profile e funcionou bem.
Acho que o xcode está tentando gerenciar o perfil e você precisa verificar o perfil de provisionamento ao enviar seu binário para armazenar e garantir que ele seja o correto. E, de acordo com outras respostas, isso pode ser causado por várias razões, por isso pode ser realmente irritante.
ATUALIZAR:
Depois de assinar com o perfil baixado e confirmar que
aps-environment
existia quando você tenta enviar paraApp Store
, poderá alterar o perfil e a entidade de assinatura de código para automático eiOS Developer
. Espero que possa ser melhorado no Xcode 7.fonte
Foi isso que o corrigiu para mim. (Eu já havia tentado ativar / desativar os recursos, recriar o perfil de provisionamento etc.).
Na guia Configurações de compilação , em Autorizações de assinatura de código , meu arquivo .entitlements não estava vinculado a todas as seções. Depois de adicioná-lo à seção Qualquer SDK, o erro foi resolvido.
fonte
Para resolver isso em um aplicativo de ejeção de expo, fui à guia de recursos, habilitei o push e desabilitei novamente. Isso removeu a configuração de 'direitos' do APNS do arquivo .entitlements.
fonte
Eu tive o mesmo problema e minha solução foi adicionar o direito de notificação por push de Destino -> Recursos.
fonte
Isso aconteceu comigo de repente porque o perfil de distribuição do meu aplicativo expirou. O Xcode começou a usar o perfil curinga, que não tinha o direito de notificação por push ativado. Não recebi nenhum aviso. A correção foi fácil; Eu apenas tive que gerar outro perfil de distribuição para o meu aplicativo no Apple Developer Member Center, baixá-lo e clicar duas vezes para instalar no Xcode.
fonte
Existem algumas sugestões muito boas aqui.
Referindo-se à última captura de tela que Mina forneceu, depois de arquivar meu aplicativo inicialmente, o perfil de provisionamento mencionado durante o upload continha um curinga (XC. *). Isto está errado.
Foi necessário um esforço considerável para resolver isso. Eu tive que fazer uma combinação das sugestões que Simon Woodside e Mina Fawzy forneceram.
Se você possui certificados e perfis de provisionamento existentes relacionados ao seu projeto, agora é um bom momento para removê-los todos localmente e revogá-los remotamente. Dê a si mesmo um novo começo.
A sugestão detalhada de Mina Fawzy é excelente. A sugestão de Mina, se realizada corretamente, deve cuidar de você online.
Digite a sugestão de Simon. Precisava verificar duas coisas dentro do meu projeto. Usando o XCode, acesse aqui:
PROJETO -> CONFIGURAÇÕES DE CONSTRUÇÃO -> ASSINATURA DE CÓDIGO
Revise o perfil de identidade e provisionamento de assinatura de código propriedades . Certifique-se de definir essas duas propriedades para o nome do seu projeto. Não permita que o XCode selecione automaticamente para você e não use alguma identidade genérica de assinatura de código (por exemplo, Iphone Developer).
Certifique-se de instalar o aplicativo nos seus dispositivos antes de decidir arquivar.
fonte
O maior problema que tenho depois de habilitar a
Push Notification
partirCapabilities
e refazer todos os certificados é que o nome do destino e o nome da pasta onde foi armazenado o projeto foram compostos de 2 cadeias separadas por espaço. Depois de remover o espaço, tudo funcionou bem!fonte
Eu tive esse problema porque meu arquivo de direitos estava incorreto devido à edição manual anterior. Eu removi a sintaxe da entrada de direito formatado incorretamente e, em seguida, clique em "corrigir" na guia recursos, e o Xcode adicionou o direito ao meu arquivo.
Aqui está um exemplo de um arquivo de direitos formatado corretamente ("
Runner.entitlements
"):fonte
CORREÇÃO DE IDÉIA Ei pessoal, então eu fiz um aplicativo e não usei nenhuma função de notificação por push, mas ainda recebi um e-mail. Depois de verificar os certificados, IDs e perfis do identificador de pacote que usei para criar meu aplicativo na Apple Store, conecte-se ao portal do desenvolvedor da Apple e percebi que as notificações por push estavam ativadas.
O que você precisa fazer é:
vá para o site de login para desenvolvedores da apple, onde você pode gerenciar seus certificados também 2. selecione a guia "Certificados, IDs e perfis" no lado direito 3. agora selecione "Identificadores" 4. e o ID do pacote da lista à direita 5. agora role para baixo até ver a notificação por push 6. desligue-o 7. arquive sua compilação e reenvie-a para a Apple Store Connect
Espero que ajude!
fonte