Para distribuir o aplicativo aos nossos testadores, usamos o Xcode, o que fazemos usando o seguinte processo:
- Aplicativo de arquivamento
- Distribuir para Ad-Hoc
- Escolha o perfil de provisionamento
- Salve o .ipa em uma pasta
Mas com o Xcode 6 , esse fluxo de trabalho foi um pouco alterado. Ainda posso selecionar a opção de distribuição Ad-Hoc, mas não posso selecionar o perfil de provisionamento que desejo. Isso não nos dá controle sobre qual certificado de assinatura é usado e a configuração do perfil de provisionamento (usamos notificações push).
Por padrão, a iPhone distribution
identidade de assinatura é usada e algum tipo de XC Ad Hoc
perfil de provisionamento é gerado, o que pode ser visto na imagem abaixo:
Se você clicar na seta perto do perfil de provisionamento, ela abrirá a pasta com perfis de provisionamento.
Então, minha pergunta é:
Existe alguma maneira no Xcode 6 de selecionar o perfil de provisionamento usado na distribuição Ad Hoc?
Obrigado!
Respostas:
Eu estava enfrentando o mesmo problema, resolvido usando o script da ferramenta "xcodebuild" da linha de comando, pré-instalado com o Xcode 6 (não era necessário reinstalar o Xcode 5).
http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/
Script no terminal:
fonte
xcodebuild
não tiveram o-exportProvisioningProfile
interruptor.Eu tive um problema semelhante ao enviar para a App Store. Criei um arquivo, cliquei em "enviar" e o Xcode queria assinar automaticamente com o perfil padrão de provisionamento de curinga "XC com. *", Em vez do perfil explícito que já possuía.
Para corrigir isso, acabei de gerar novamente o perfil no Apple Developer Portal:
1) Acesse developer.apple.com e encontre o perfil de provisionamento de distribuição que você deseja usar.
2) Selecione-o, clique em "Editar", renomeie o perfil e clique em "Gerar".
3) Faça o download do perfil de provisionamento para a área de trabalho e arraste-o para o ícone do Xcode 6.
4) Reinicie o Xcode 6.
5) Abra a janela do organizador e clique em "Enviar" no arquivo que você criou. O Xcode selecionará automaticamente seu perfil explícito, em vez do genérico.
fonte
Quando estiver no Organizer
Obviamente, você precisa ter gerado, baixado e instalado o perfil de provisionamento ad-hoc.
fonte
Parece que o último perfil de provisionamento gerado vence agora. Assim, você pode gerar novamente o perfil desejado e fazer o download e o Xcode o usará.
Uma abordagem um pouco melhor: defina o perfil prov desejado em seu destino e use a linha de comando para criar seu ipa, que também funciona.
Aqui está o script, estou usando:
e minhas configurações:
fonte
Também não consegui descobrir isso - fui mordido ao enviar para a AppStore, onde o padrão era um perfil curinga.
Acabei construindo no Xcode 6, depois voltando à janela Organizador do Xcode 5 para o envio. Dessa forma, você será solicitado a escolher um perfil para assinar.
fonte
No Xcode 6 (pelo menos 6.1 eu estou usando agora) quando você está exportando para ad hoc, o xcode 6 varrerá automaticamente se houver algum perfil de provisionamento que contenha todos os dispositivos registrados na conta de desenvolvedor e, ao mesmo tempo, corresponda ao ID do pacote . Se não, ele usará o perfil de provisão XC. Portanto, se você deseja usar seu próprio perfil, por exemplo, para fins de notificação por push, será necessário selecionar todos os dispositivos em seu perfil no portal do desenvolvedor da apple. Eu acho que essa é a razão pela qual algumas pessoas recriam o perfil funcionariam e outras não.
btw, use script pode exportar e fazer upload para testflight, mas o dispositivo simplesmente não pode baixá-lo. provavelmente em algum lugar eu errei. se alguém sabe por que é, por favor me avise. tks
fonte
Isso funcionou para mim:
agora você deve ver o nome correto do perfil de provisionamento.
fonte
Eu tenho uma solução alternativa para isso que funciona para mim.
Eu tenho o Xcode 6 e o Xcode 5.1.1 instalados, o Xcode 6 está em Aplicativos e o Xcode 5.1.1 está em outro diretório. Quando quero fazer uma compilação, uso o Xcode 6 para criar o arquivo morto. Mas você também pode ver o arquivo morto criado no Xcode 5.1.1, então eu uso o Xcode 5.1.1 para distribuir o Ad Hoc .ipa usando o perfil de provisionamento que eu quero usar. Então construa usando o Xcode 6, mas distribua usando o Xcode 5.1.1.
fonte
O uso de recursos de assinatura local durante a exportação resolveu o problema para mim:
fonte
A resposta do @MrPatol não funcionou para mim. Meu cenário de trabalho para o Xcode 6.3.2
Na Central de Membros -> Perfis de provisionamento para iOS
No Utilitário de configuração do iPhone -> Perfis de provisionamento
No Xcode -> Organizador
fonte
Aqui estão os dois pontos principais que resolveram o problema para mim.
O Xcode encontrará o perfil de provisionamento correto, correspondendo o ID do aplicativo ao identificador de pacote do aplicativo.
fonte
De fato, você precisa criar um novo perfil de Distribuição, específico para Implantação Ad Hoc. Isso pode ser encontrado no centro de membros clássico, mas é um novo tipo de certificado.
Em seguida, você pode selecionar quais dispositivos podem ser usados para testar o aplicativo, como faria com um perfil de desenvolvedor.
E o certificado recém-criado estará disponível quando você exportar seu pacote do Organizer da maneira usual.
Como alternativa, você pode usar a solução TestFlight fornecida pela Apple com iOS 8 para permitir que seu usuário tenha acesso ao pré-lançamento.
fonte
Eu tive o mesmo problema, finalmente o resolvi, regenerando o perfil que queria usar no Xcode 6, incluindo todos os dispositivos que registrei na minha conta de desenvolvedor iOS, fazendo assim, ao selecionar exportar, mostro o perfil correto e eu pode fazer a exportação Ad Hoc com o Xcode 6 sem usar um script. Espero que ajude.
fonte
Fiquei um tempo parado com isso, mas usando o Crashlytics, resolvi construir compilado usando o perfil selecionado nas configurações de compilação do seu projeto Xcode.
espero que ajude alguém.
fonte
Quase o mesmo problema. Após criar um arquivo morto para distribuição (Produto> Arquivo morto), exporte o arquivo morto (clique em Exportar ...) e escolha "Salvar para implantação corporativa"; Então o próximo". Você seleciona o padrão "Equipe de desenvolvimento" (por exemplo, nome da organização) e clique em "Escolher". Por fim, você verá uma visão resumida que também lista o perfil de provisionamento que o Xcode encontrou automaticamente (talvez criado rapidamente) para você. PODE ser o perfil de provisionamento errado (normalmente um perfil de provisionamento de curinga, como "XC: *") e PODE estar acontecendo porque já existe um perfil de provisionamento de curinga no portal do desenvolvedor.
Usei um tíquete de suporte para isso e só recebi esse link de volta https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 . Não é realmente uma grande ajuda.
Descobri que a solução do MrPatol também funciona para o Enterprise Deployment e resolve o problema para nós. Primeiro, entrei no portal do desenvolvedor e criei manualmente um perfil de provisionamento adequado ao meu aplicativo. Em seguida, baixou e instalou o novo perfil de provisionamento criado manualmente.
fonte
No xcode 7, não consegui escolher o provisionamento ad-hoc via
Organizador -> Carregar na App Store e Organizador -> Validar
Mas eu poderia escolher via Organizer -> Exportar
Editado:
O upload do aplicativo após a exportação para adhoc na loja de aplicativos para testFlight causou outro problema discutido aqui . Portanto, a solução para esses dois problemas é uma. Crie o provisionamento da AppStore para poder selecioná-lo via organizador e utilizar o testFlight fazendo upload na appstore.
fonte
O arquivo optionPlist é assim,
loja de aplicativos, empresa, ad-hoc, desenvolvimento são alternativas
É um problema de rubi. Experimente este script de shell,
xcbuild-safe.sh
O que diabos
shell_session_update
? Vamos contornar isso. Basta definir uma função antes do cmd real do xcodebuild, ou seja, na linha 60 ou 61.fonte
Em resposta à sua pergunta específica, não há como selecionar o perfil de provisionamento a ser usado. O que você está tentando fazer? (ou seja, o que o perfil que você deseja selecionar permite que o gerado automaticamente não?)
fonte