WWDC 2012 anunciou recursos no iOS 5?

5

Sou relativamente novo no desenvolvimento do iOS, portanto, depois de assistir a vários vídeos da WWDC anunciando novos recursos impressionantes para o iPhone SDK, ainda tenho algumas dúvidas sobre o suporte deles a dispositivos mais antigos. Especificamente:

  • Os novos recursos do compilador (como suporte a literais, auto-sintetizar, etc.) exigem o iOS 6 no dispositivo de destino ou o novo código de estilo pode ser implantado em dispositivos iOS 5?
  • Layout automático para iOS, mesma pergunta. Será suportado apenas no iOS 6 ou 5? Se são apenas 6, que tipo de retorno devemos implementar?

Gostaria muito de saber se alguém poderia esclarecer isso para mim, já que estou pensando em reescrever meu projeto inacabado mais antigo e adoraria usar parte dessa funcionalidade aprimorada do SDK.

    
por Arnold 07.07.2012 / 02:22
fonte

2 respostas

2

Então, eu mesmo tentei executar um aplicativo de teste com alguns novos recursos do SDK no simulador do iOS 5, e as descobertas são praticamente as esperadas, embora ainda um pouco decepcionantes.

Os recursos do compilador, como literais e sintetizadores automáticos, funcionam bem e bem. No entanto, se o aplicativo tentar acessar um arquivo IB que contenha alguns itens de layout automático, o aplicativo falhará com esse erro:

*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'
Portanto, embora não seja realmente surpreendente, agora está confirmado que o layout automático não funcionará nas versões do iOS anteriores a 6. Não acredito que tenha havido recomendações oficiais sobre o que usar e como fornecer fallbacks adequados, mas acredito que ele teria que ser separado em XIBs específicos do iOS mais antigos, juntamente com o mesmo código de layout manual de boa qualidade.

    
por 10.07.2012 / 06:40
fonte
3

Meu entendimento é que recursos implementados pelo compilador, como literais de objetos, podem ser implementados em sistemas mais antigos. Recursos que requerem suporte do tempo de execução ou de estruturas novas / modificadas, provavelmente incluindo o layout automático, exigirão o iOS 6.

É trivial descobrir se algum recurso específico funcionará no iOS 5 ... apenas crie um projeto de amostra simples que use o recurso e tente executá-lo no iOS 5. Não me lembro como o novo auto-sintetizar coisas se encaixam, por exemplo, mas certamente você pode testá-las.

    
por 07.07.2012 / 21:06
fonte