A cada lancamento de um novo iOS e normal a necessidade de atualizar o nosso codigo (Objective-C ou Swift) de nossos projetos para compatibilizar com a nova versao. Metodos ou classes depreciadas ou novas instrucoes sao comuns. E tem sempre alguma UIView ou Autolayout que quebra e nao funciona mais.Infelizmente, nem todos os detalhes sao encontrados facilmente ou centralizados em um topico apenas na WWDC 2016 ou em algum guia da Apple.Resolvi escrever uma lista de coisas que tive que lidar para atualizar em nossos projetos para que tudo funcione no iOS10. Vamos la :Aviso de privacidade para acesso a camera.Uma das coisas irritantes e que quando voce vai tentar acessar a camera pela primeira vez ele apresenta um alerta para o usuario para permitir ou nao o acesso, e nesse momento, como seu codigo legado nao tem o aviso, ele quebra. E necessario agora colocar como parametro em sua Info.plista frase deaviso do porque voce estara utilizando o acesso.A chave e :Privacy - Photo Library Usage Description & Privacy - Camera Usage DescriptionAviso de privacidade para acesso ao calendario.Outro que vai precisar de atencao nesse ponto e o calendario do app, agora tambem e necessaria a frase de aviso.A chave e :Privacy - Calendars Usage DescriptionAtivar a capacidade de Push Notifications no Xcode para registrar o device token & Atualizar o framework UserNotifications para lidar com as acoes do usuario.Esse ajuste quase passou batido. Mesmo assistindo as duas sessoes sobre notificacoes da WWDC nem vi mencao alguma dessa obrigatoriedade. Agora no iOS 10, ele se voce nao ativar a capacidade de Push Notificationno seu projeto, ele nao vai gerar o device token. Alem disso, ele cria uma chave no seu arquivo entitlements.Mais sobre voce encontra nesse documento da Apple : https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingLocalAndPushNotifications.htmlPara lidar com as acoes de clique do usuario na notificacao, tanto em background como em foreground, voce devera utilizar o novo framework UserNotifications que integra-se com as acoes basicas e novas formas de interacoes com as notificacoes que temos no iOS10. Para isso, devera alterar a forma que seu codigo registra essas notificacoes e trata as acoes dela. Vou deixar um link para uma thread do StackOverflow que resume a implementacao e sugiro tambem assistir a WWDC 2016 com o tema Introducing to NotificationsAgora Views sem constraints se comportam como o definido no AutoResizingMask.Pretendo escrever um artigo apenas sobre essa mudanca, mas de cara, toda view que e adicionada de forma dinamica, ou seja, atraves do metodo addSubviewdeve ser revista para que sua proporcao e comportamento nao seja inesperado no iOS 10 e em diferente tamanhos de telas de devices.Voce pode conferir na secao What's New in Autolayout WWDC 2016.Xcode agora ira assinar e gerar os profiles automaticamente no seu projeto.Uma mudanca para melhor no Xcode e o fato de ele cuidar sozinho da assinatura de provisioning profile do seu projeto. Isso e muito bacana, mas ao mesmo tempo, se seu projeto legado ja tinha todos os parametros de provisioning profileajustados, voce deve conferir se as configuracoes foram mantidas adequadamente. No meu caso, foi melhor mudar para a forma automatica