É possível obter o iOS 5.1 SDK para Xcode 4.2 no Snow Leopard?

139

Eu ainda tenho o Snow Leopard. Eu tenho o Xcode 4.2 para desenvolvimento em iOS. Esta manhã, atualizei meu iPhone e iPad para o iOS 5.1.

Mas o Xcode 4.2 não está detectando meu dispositivo para teste. Não foi possível encontrar a imagem do SDK do iOS 5.1 no site de desenvolvedor da Apple, para o Xcode 4.2.

Não quero fazer upgrade para o Lion para obter o XCode 4.3 no momento.

Posso usar o Xcode 4.2 (no Snow Leopard) para desenvolvimento iOS agora?

jpsasi
fonte

Respostas:

213

Para que o Xcode 4.2 no Snow Leopard execute o código em um dispositivo executando o iOS 5.1, faça o seguinte:

  1. Se você tiver outro Mac executando o Lion e o Xcode 4.3.1, poderá copiar os arquivos de:

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)

  2. Coloque os arquivos copiados no local equivalente no seu Snow Leopard Mac: provavelmente

    /Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Da mesma forma, copie os arquivos SDK do iOS 5.1 encontrados neste diretório:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk

  4. Copie também 'version.plist' da máquina Lion na pasta iPhoneOS.platform para a máquina Snow Leopard.

  5. Reinicie o Xcode na máquina Snow Leopard e reconecte os dispositivos, e isso parece feliz o suficiente.

Se você não tem acesso a uma máquina com Lion e Xcode 4.3.1:

  1. Você pode obter os arquivos dos 4.3.1 DMGquais podem ser baixados da Apple aqui : Downloads para desenvolvedores da Apple .

  2. Monte o DMG, mostre o conteúdo do pacote no ícone Xcode e faça drill down para

    /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

  3. Siga os passos acima.

Você pode achar mais conveniente usar o dittométodo proprietário da Apple ( sudo ditto src dest) na janela do terminal para copiar as pastas.

Observe que esse hack também funcionará para o iOS 6 SDK mais recente.

Richard Groves
fonte
3
Hoje eu atualizei meu sistema para Lion. Obrigado pelo hack.
jpsasi
Muito obrigado :) Trabalhou perfeito para mim. Pelo menos poderei desenvolver com sl por mais algum tempo.
OnTheFly
14
Corrigi o problema acima, copiando também os arquivos em /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk. Obrigado por isso, agora posso adiar a substituição do meu Mac antigo por pelo menos mais alguns meses.
Dan Dyer
6
@natbro - Ainda vejo a multa 4.3.1 dmg em developer.apple.com/downloads/index.action# e estou fazendo o download no momento.
23712 SubG
1
O XCode 4.3.3 também contém e funciona muito bem. Muito obrigado por este
Krym
14

Você precisa obter o Lion, o iOS 5.1 SDK é apenas para o Xcode 4.3.1, disponível apenas para o Lion.

... e seu Xcode não poderá ser compilado no seu dispositivo se você já o tiver atualizado para 5.1, porque não estará nessa versão dos SDKs aprovados do Xcode

Mick MacCallum
fonte
14

Estou trabalhando nisso agora. Eu tenho o mesmo problema.

Os principais problemas aqui são os seguintes:

1) A Apple nunca forneceu uma caixa de diálogo de aviso de que isso pode desativar as pessoas que desenvolvem no Snow Leopard.

2) Não há uma maneira fácil de desfazer isso.

3) Isso não deve acontecer em uma atualização de versão pontual.

Tentei instalar o ipsw anterior da 5.0.1 para o meu Gen 4 IPod Touch a partir daqui: onde baixar links de restauração do firmware do ipod touch Ele não será instalado.

Fiz o download do Lion Xcode 4.3.1 a partir daqui (entre como desenvolvedor) Lion Xcode 4.3.1

E execute alguns scripts dos Fóruns de desenvolvimento aqui:

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

sudo cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1\ \(9B176\) /Developer/Platforms/iPhoneOS.platform/DeviceSupport/
cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport/

sudo rm -f ./Latest

sudo ln -s ./5.1\ \(9B176\) ./Latest

Desmontou o Lion DMG e reiniciou o Xcode. Isso me permitiu testar o 5.1 no simulador, mas quebrou todas as compilações em todos os dispositivos com um erro SIGABRT ou link.

Estou indo à loja da Apple para restaurá-lo. Se eu tiver mais alguma informação, informarei a todos. Esta foi uma surpresa MUITO CARA e MUITO DESLEGÁVEL.

Alex Zavatone
fonte
3
Eu concordo inteiramente com você. O comportamento da Apple sobre isso está além de irresponsável. Diz a você: eles simplesmente não se importam.
EDH
3
Eu amava a Apple antes de me tornar um dos pobres bastardos que tinham que se desenvolver na plataforma iOS.
Alex Zavatone
8

Adicionando à solução Richards acima, descobri que, se você também copiar, do XCode 4.3.1 dmg ...

edit: atualizado para corrigir o caminho no dmg

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Develope‌ r / SDKs / iPhoneOS5.1.sdk ~~ (árvore de diretórios inteira)

para

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

O depurador do XCode será inicializado corretamente (sem todo o log de erros e despejos)

ie:
===============================================================================
warning: Unable to read symbols from "dyld" (prefix __dyld_) (not yet mapped into memory).
warning: Unable to read symbols from "SystemConfiguration" (not yet mapped into memory).
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of dyld found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: No copy of <No file name> found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (file not found).
warning: No copy of SystemConfiguration.framework/SystemConfiguration found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/MessageUI.framework/MessageUI (file not found).
warning: No copy of MessageUI.framework/MessageUI found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox (file not found).
warning: No copy of AudioToolbox.framework/AudioToolbox found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/Frameworks/iAd.framework/iAd (file not found).
warning: No copy of iAd.framework/iAd found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices (file not found).
warning: No copy of SpringBoardServices.framework/SpringBoardServices found locally, reading from memory on remote device.  This may slow down the debug session.
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/5.1 (9B176)/Symbols/System/Library/PrivateFrameworks/FTClientServices.framework/FTClientServices (file not found).
warning: No copy of FTClientServices.framework/FTClientServices found locally, reading from memory on remote device.  This may slow down the debug session.
===============================================================================
dklt
fonte
Eu acho que o caminho que você quer dizer é: /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs (que é um pouco mais profundo do que o seu post sugere) - hierarquia complicada que a Apple acabou não )
Richard Groves
de fato, você está correto. atualização post para refletir seu caminho correto. Cheers ~
dklt 13/03/12
7

Há uma resposta aqui que também fornece a cópia do simulador v 5.1. Nenhuma operação manual. Basta abrir o terminal, copiar e colar os comandos fornecidos.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/100229-snow-leopard-sdk-5-1-a.html

prosseguir
fonte
Segui o conjunto de instruções de Richard Groves e @ dklt. Não funcionou. Mas eu disparou os scripts indicados neste link e ele funcionou como um encanto
Vaishnavi Naidu
"Esta página da web em www.iphonedevsdk.com foi relatada como uma página de ataque e foi bloqueada com base em suas preferências de segurança." - Eu ficaria muito cuidado :)
Roel Van de Paar
Todo o site iphonedevsdk.com foi relatado, não apenas esta página.
prossel 13/07/12
5

se você também quiser adicionar o iphone simulator 5.1 ao seu xcode, copie

/Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk

diretório inteiro para o seguinte caminho =>

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

Depois, você também poderá usar o simulador do iPhone 5.1 para depurar seu aplicativo.

hchouhan02
fonte
1
Eu recebo os seguintes erros quando faço isso @ hchouhan02: Erro do compilador XIB do Interface Builder: "O comando / desenvolvedor / usr / bin / ibtool falhou com o código de saída 255" e Sem categoria: "A tarefa de criação falhou sem gerar mensagens de erro".
JRoss
Tente isso => ​​feche o xcode => abra o xcode => limpe o projeto depois de tentar compilar o projeto.
precisa saber é o seguinte
5

Você pode usar aplicativos compilados para 5.0 no seu dispositivo 5.1 ou 5.1.1 compilando-os e arrastando manualmente o arquivo .app para o iTunes. Tentei hoje em 10.6.8 e XCode 4.2.

Marcin Ignac
fonte
Isso funcionou para mim hoje. Estou no SL com o xcode 4.2. [Mac OS X 10.6.8 (10K549). Xcode 4.2 (4C199). iPhone OS SDK 5.0: (9A334).]
martin jakubik
Você pode encontrar o arquivo .app em ~ / Library / Developer / Xcode / DerivedData / {nome do aplicativo} / Build / Products / Deployment / (graças a stackoverflow.com/a/9673810/1208218 )
Roel Van de Paar
E mais algumas informações aqui em termos de como exatamente para obter tudo isso em execução: stackoverflow.com/a/11460561/1208218
Roel Van de Paar
4

Faça o download do firmware iOS 5.0.1 do seu dispositivo neste link: http://www.iphonefirmware.com/firmwares-download .

E faça uma restauração manual no iTunes.

Eu fiz isso hoje (8 de março) no meu iPad 2 e funciona, a Apple ainda parece assinar esta versão do iOS. Acho que não por muito tempo, faça-o rapidamente.

booker
fonte
1
10 de março: Não funcionou. Recebi uma mensagem informando que a versão do software não era suportada pelo meu dispositivo, um iPod Touch 4G.
Seamus
A Apple parou a assiná-lo desde o último fim de semana
booker
3

Não é possível usar um dispositivo 5.1 no xcode 4.2, pois você não deseja atualizar, você pode usar o organizador, selecionar seu dispositivo e usar o recurso de restauração. Você pode pesquisar no Google pela versão 5.0.1 e usá-la.

(embora atualizar para o leão seja super barato)

EDIT: Parece possível, role para cima para obter a resposta mais votada.

Pochi
fonte
Como o Mountain Lion será lançado em alguns meses, não quero atualizar para o Lion agora, supondo que eu possa atualizar para o Mountain Lion a partir do Snow Leopard. Acho que preciso encontrar uma maneira de restaurar o iOS 5.0.1 para o meu dispositivo. Graças
jpsasi
de nada. Não deve ser tão difícil de restaurar, como eu disse antes, o xCode fornece o recurso de restauração (encontrado na janela do menu do organizador-> organizador-> dispositivos-> RestoreIphone). Mas não sei se você pode ir direto ao leão da montanha; como exemplo, você deve passar pelo snowleopard para chegar ao leão do leopardo.
Pochi
Aparentemente, não será necessário atualizar para Lion primeiro e você pode ir direto do Snow Leopard para Mountain Lion
Roel Van de Paar
3

Estou usando o Mac OS X 10.6.8 e o Xcode 4.2 e também atualizei meu iPhone para o iOS 5.1. Ontem, precisava de uma versão de teste para o dispositivo com pressa, mas não tive tempo para instalar o Lion e o Xcode 4.3.

Eu tenho usado o TestFlight (www.testflightapp.com) para testes beta. Criei um arquivo .ipa a partir do Xcode 4.2 e consegui instalá-lo no meu iPhone atualizado com iOS 5.1 através do TestFlight.

Eu sei que não é uma solução ideal, mas me ajudou a sair de uma situação difícil ontem sem recorrer a hacks.

ps Não sou afiliado ao TestFlight de forma alguma.

egincyf
fonte
2

O Xcode 4.2 parece não estar mais disponível no developer.apple.com para usuários do snow leopard :( também para desenvolvedores iOS pagos registrados como eu ...

Parece que, no momento, não há uma maneira legal de obtê-lo ...

gabry
fonte
2

Você deve adicionar o alias Símbolos too..for exemplo, /Developer/Platforms/iPhoneOS.platform/DeviceSupport/6.0 (10A403)você deve adicionar símbolos alias que ponto a /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdktão Xcode 4.2 pode detectar o seu dispositivo iOS6 (testados em Mac mini 1,5 intel core solo com leopardo das neves). Felicidades

Walter
fonte
No meu caso, o Symbolsalias já estava lá depois que eu copiei a DeviceSupport/6.0 (10A403)pasta da imagem de disco do Xcode 4.5.
herzbube
1

Acho que você pode testar o dispositivo iOS 5.1 no Snow Leopard, conforme explicado nas postagens acima. Mas é sempre seguro atualizar para o Lion e usar o lançamento oficial do sdk. Como não podemos prever qual problema pode acontecer se fizermos alguns "truques" em nossa máquina para que isso aconteça e isso pode ocorrer no momento mais indesejado (como ao enviar para a appstore). :)

rakeshNS
fonte
1

Até a data desta publicação, em 20/3/2012, a Apple não estava permitindo que as pessoas instalassem arquivos ipsw anteriores da 5.0.1. Se você atualizou seu dispositivo para o iOS 5.1, como fiz com o meu gen 4 Touch, é necessário que o iOS 5.1 seja executado no Xcode 4.2, ou você deve reverter o dispositivo para 4.x ou substituí-lo.

Trouxe meu toque para a Apple Store e eles o substituíram.

Se você instalar o ipsw para 5.0.1, os servidores da Apple indicarão que isso não é permitido para o seu dispositivo e você não poderá reverter. Você precisará experimentar o 4.x no seu dispositivo ou verificar se o iOS 5.1 SDK está sendo executado no Xcode 4.2.

Alex Zavatone
fonte
0

Eu encontrei como resolvê-lo!

Meu sistema é o Snow Leopard 10.6.8 e eu tenho dois conjuntos de Xcode de 3.2.5 e 4.2, depois de atualizar meu iPad 1 para iOS 5.1, iniciei o Xcode 3.2.5 e me levou a uma janela de 'dispositivo desconhecido foi encontrado ', respondo' Sim 'para baixar muitas bibliotecas do meu iPad, alguns minutos depois, posso depurar e executar meus projetos no meu iPad!

Então eu lancei o Xcode 4.2 e abri um dos meus projetos anteriores, eu posso realmente depurar e rodar no meu iPad!

Dessa forma, você pode usar qualquer versão do Xcode para desenvolver aplicativos em um sistema Snow Leopard.

arte de golfe
fonte