ios - apple - ativar restrições iphone




"Aviso: os aplicativos do iPhone devem incluir uma arquitetura armv6", mesmo com o conjunto de configurações de compilação (12)

Já faz um tempo desde que eu tive que ajustar as configurações do projeto. Depois de atualizar para um SDK recente, estou tendo problemas para criar minha configuração de distribuição ad hoc.

Build gera este aviso e erro:

aviso: os aplicativos do iPhone devem incluir uma arquitetura armv6 (ARCHS atual = "armv7")

iPhone / iPod Touch: o executável do aplicativo não possui uma arquitetura necessária. Pelo menos uma das seguintes arquiteturas deve estar presente: armv6 (-19033)

No entanto, no meu projeto, achei que as coisas estavam corretas:

  • Arquiteturas é: Standard (armv6 armv7)
  • Base SDK: iOS mais recente (atualmente definido para o iOS 4.2)
  • Arquiteturas Válidas: armv6 armv7

Eu limpei todos os alvos.

Eu aprecio todas as dicas.


Além da resposta de Nick sobre o Xcode 4.2, você também pode precisar revisar seu arquivo info.plist. Parece que novos projetos iniciados no Xcode 4.2, por padrão, especificam 'armv7' no 'Required Device Capabilities'. Você precisará remover isso se quiser oferecer suporte a dispositivos que executem o armv6 (por exemplo, o iPhone 3G).

Exclua armv7 do 'Required device capabilities' em yourProjectName-Info.plist


Aqui está a documentação da Apple:

Technical Q & A QA1760

Diz que há duas coisas que você deve acertar:

  1. Adicione armv6 às configurações de criação de arquitetura
  2. Defina Construir Arquitetura Ativa Apenas como No .

Se isso ainda não ajudar você, verifique se você está realmente alterando as configurações de compilação da arquitetura para a configuração de compilação correta - perdi meia hora mexendo com a errada e me perguntando por que não funcionou ...

Selecione Edit Scheme... no menu Product, clique no esquema "Archive" na lista à esquerda e marque a configuração Build. Altere o valor se não foi o que você esperava.


Eu tentei todas as respostas acima, nenhuma resolveu minha pergunta. Então eu crio um novo projeto e difundo as configurações de compilação uma por uma. Apenas "Arquivos de Permissões Alternativas" é diferente. A construção do projeto falhou tem um valor armv7. Exclua e limpe-> build-> archive. Suceda! A esperança pode resolver sua pergunta


Eu tive esse problema mesmo depois de seguir a resposta aceita e encontrei o seguinte para trabalhar:

No seu Info.plist, adicione uma entrada para os recursos necessários do dispositivo. Este deve ser um array e terá duas entradas.

  • Item 0: armv6
  • Item 1: armv7

Isso parecerá assim:


Eu tive que ter certeza de alterar essas configurações nas configurações de Alvo e Projeto no xCode 4.3.2 depois de fazer isso e defini-lo para construir para armv6 e armv7 em todos os lugares que eu era capaz de enviar meu aplicativo.

Por medida segura, também saí do xCode entre fazer as alterações e fazer um ciclo de compilação e arquivamento limpo.


Nota; Eu tive que executar essas etapas para o meu projeto base e o arquivo PhoneGap .xcodeproj incorporado em meu aplicativo.

Sim, eu incluo o PhoneGap; eles são atualizados com frequência e eu tenho menos de dois meses para saber que um recurso é depreciado.


Se o xCode continuar reclamando sobre o armv7, certifique-se de desconectar qualquer dispositivo de conexão (especialmente o iPhone 5 !!) e tente novamente. Levou-me horas para descobrir essa pequena informação.


Se você desmarcar "Construir somente arquitetura ativa", ele criará todas as arquiteturas válidas.

Atualização : Isso não é mais aplicável a partir do Xcode 4 - siga as instruções do Nick para o Xcode 4 e posterior.


Uau, eu atualizo / envio aplicativos a cada 6 meses. Toda vez que faço isso eu tenho que aprender a "nova" maneira de fazer isso ...

Os mesmos problemas descritos acima ao executar o iOS 5.1 e o Xcode 4.3.2

Obrigado pelos posts! Passei um tempo atualizando todas as configurações do projeto para armv6, armv7, mas sem alegria. Quando defino "construir somente arquitetura ativa" como Não, recebi um erro de compilação sobre colocar os dois objetos no mesmo diretório.

Felizmente, notei que vocês estavam modificando as configurações de compilação de destino. Isso é o que finalmente funcionou (armv6, armv7 e configuração "build active architecture only" para No sob as configurações de compilação do Target). Como aviso legal, eu já tinha definido todas as arquiteturas para armv6, armv7 nas configurações do projeto também.

De qualquer forma, obrigado pela ajuda, Brent


Um problema muito doloroso para mim também. Apenas passei cerca de uma hora tentando construir e reconstruir - sem alegria. No final, tive que fazer isso:

  1. Atualize o SDK base para o mais recente (no meu caso, iOS 5)
  2. Reinicie o xCode
  3. Limpar e construir
  4. Funcionou!

Eu acho que é um monte de jargão sobre arm6, arm7 como parecia que meu projeto era válido para ambos, pelo menos as configurações pareciam dizer isso, meu palpite é que isso é uma maneira cínica de nos enganar com os detalhes técnicos, que nós don Não entendo, por isso, basta escolher a opção mais fácil e segmentar o iOS mais recente (bom para a Apple, com mais pessoas atualizadas) ....


para mim, não funciona com todas as respostas. mas eu tento TARGETS> Architectures> Debug e adiciono uma nova linha com o botão mais, e digite 'armv6' (com out '), depois clique em Done.

e finalmente CMD + B e depois clique com o botão direito do mouse em PrjectName.app (na pasta Products)> Open in Finder> Compactar "PROJECT_NAME.APP" (em Debug-iphoneos)> Fazer upload para a AppStore

é a minha configuração de tela.

se você incluir o projeto, por favor, configure tudo. Espero sua ajuda.


Uma atualização do ios 6

Alterações no Xcode 4.5.x para ios 6

  1. O Xcode 4.5.x (e posterior) não suporta a geração de binários armv6.
  2. Agora inclui suporte ao iPhone 5 / armv7s.
  3. O destino mínimo de implantação suportado com o Xcode 4.5.x ou posterior é o iOS 4.3.