Leia a descrição dos capítulos, e entenda porque você deve comprar este Livro.
Sumário oficial: baixe aqui
Introdução ao desenvolvimento para iOS e conceitos básicos.
Um projeto hello world é criado, para executar no simulador do iPhone e iPad, para validar a instalação do Xcode.
Introdução ao Objective-C por meio de exemplos práticos executando no Xcode.
Sintaxe da linguagem, declarando variáveis, chamando métodos, etc.
Orientação à Objetos: classes, construtores, níveis de acesso, herança, interfaces, propriedades.
Principais classes com exemplos, ex: NSArray, NSDictionary, etc.
Vamos criar o primeiro aplicativo para iPhone, e desenvolver um simples formulário no Interface Builder.
Aprenda como adicionar componenentes na tela (labels, texto, botões) e tratar os eventos.
Introdução a outlets e actions.
Estrutura do projeto e principais arquivos, ciclo de vida, conceitos fundamentais, customizar as imagens do projeto: como ícones e splashs.
Aproveitamos para explicar diversas dicas sobre o Xcode e Interface Builder, teclas de atalho, visualizar os logs, onde verificar as mensagens de erro, como debugar o projeto, etc.
No final deste capítulo você terá conhecimentos básicos para criar telas para iPhone.
Neste capítulo o exemplo inicial é evoluído, para explicarmos outros componentes.
Como controlar o teclado virtual do iPhone.
Introdução ao design pattern Delegate.
Como utilizar as imagens para telas normais e de retina.
Existem algumas maneiras de navegar de uma tela para outra e passar parâmetros, e vamos estudar todas elas.
Alguns assuntos deste capítulo são o navigation controller e storyboards.
Muitos aplicativos para iOS utilizam o componente Tab Bar para criar interfaces, pois é um padrão recomendado pela Apple.
Este capítulo explica tudo sobre este componente, e inclusive vamos iniciar o desenvolvimento do projeto dos Carros, preparando a estrutura de navegação por tabs.
O componente WebView permite exibir páginas da web dentro do aplicativo, como um browser.
Vamos aprender a utilizá-lo de diversas maneiras (html fixo, site offline ou online), e vamos aproveitar para desenvolver a página de sobre o livro (que é um link para uma página).
Vamos estudar o conceito de Delegates, e aprender a monitorar o carregamento das páginas (início/fim/erro), para exibir uma animação durante o carregamento.
Nossa metodologia, é explicar os componentes (como o ActivityIndicator para animação) sempre que for necessário utilizar no projeto dos carros. Portanto, aprenda fazendo.
O componente TableView é o mais utilizado em qualquer aplicação, pois permite exibir uma lista com algmas informações.
Vamos estudar este componente, e aproveitar para continuar o projeto, e desenvolver a tela que exibe a lista de carros, explicando todos os conceitos passo a passo.
Neste momento, a lista de carros será criada com um simples array de objetos (Carro) de forma estática, pois vamos focar no componente da lista.
Também vamos desenvolver a tela de detalhes do carro, e validar importantes conceitos sobre a navegação de telas (lista -> detalhes).
Neste capítulo vamos aprender a utilizar os sensores de acelerômetro e giroscópio.
Aprenda como controlar a troca de orientação das telas (vertical e horizontal) e como customizar a interface para determinada orientação.
Aprenda o Autolayout.
Para validar os conceitos, vamos continuar o projeto, e criar uma tela customizada dos detalhes do carro, para a horizontal.
XML e JSON são arquivos muito utilizados como forma de comunicação e integração com web services.
Aprenda a fazer parser de XML por SAX e DOM, que são duas abordagens clássicas de parser.
Aprenda a fazer parser de JSON.
Para validar os conceitos vamos inserir um arquivo XML ou JSON no projeto dos carros (você escolhe o formato), e alterar a camada de negócio, para criar o array de carros, a partir deste arquivo.
Este é outro assunto que não pode ficar de fora, e é um dos mais importantes em aplicativos comerciais.
Aprenda a fazer requisições HTTP (REST) ou utilizar um web service tradicional (WSDL).
É explicado o funcionamento de requisições síncronas e assíncronas, e os prós/contras de cada uma.
Aprenda como utilizar Threads corretamente, e utilizar filas de execuções para melhorar o desempenho do aplicativo.
O foco é explicar boas práticas, e vamos desenvolver um mini-framework para executar operações demoradas, como acessar um web service ou banco de dados.
No final, vamos continuar o projeto dos carros, e consultar os arquivos XML e JSON de um web service. Depois desta implementação, o aplicativo estará totalmente online.
Aprenda a ler e salvar arquivos, e como salvar dados simples nas preferências do usuário.
Banco de dados com SQLite e o framework CoreData para persistência de objetos.
No projeto dos carros, todos os dados são online. Mas neste capítulo o requisito é salvar os dados dos carros no banco de dados, para que no próximo acesso as informações sejam lidas diretamente do banco, sem a necessidade de efetuar uma nova conexão de dados.
Aprenda persistência na prática desenvolvendo o projeto dos carros. Também vamos inserir um botão de atualizar na navigation bar para buscar/atualizar os dados online novamente.
Enquanto os dados dos carros estão salvos no banco de dados, podemos alterar os dados ou exluir algum o carro.
Tudo o que você precisa saber para inserir um mapa no aplicativo e ler informações do GPS.
Aprenda a controlar o mapa, desenhar marcadores, traçar rotas, calcular distâncias, etc.
Boas práticas para utilizar o GPS, e obter as coordenadas de latitutude e longitude.
Vamos continuar o projeto, e nas telas de detalhes de cada carro é possível visualizar no mapa o local da fábrica do carro. Por exemplo ao visualizar os detalhes da Ferrari FF, podemos exibir no mapa a fábrica da Ferrari na Itália. Os dados das coordenadas estão no web service.
Aprenda a reproduzir e gravar, áudio e vídeo, a partir de arquivos fixo no projeto ou por streamming.
Acessar a galeria de fotos.
Tirar fotos com a câmera.
Novamente vamos melhorar o projeto dos carros. Como cada carro possui um vídeo (que está hospedado no site), vamos aprender diversas maneiras de exibir o vídeo do carro selecionado.
Para desenvolver para iPad precisamos conhecer as boas práticas, para aproveitar ao máximo o espaço disponível na tela.
Aprenda as novas classes que foram criadas para auxiliar o desenvolvimento para iPad: como Popovers e Split View Controller.
Como criar projetos universais: para funcionar no iPhone e iPad.
Como customizar a lógica de negócios e interface de usuário para iPad.
No final do capítulo, vamos aprimorar o projeto dos carros, e criar uma interface customizada para iPad.
Geralmente as configurações e criação de objetos, são feitas no código-fonte.
Mas no iOS muitas configurações, e até criar objetos e seus relacionamentos, pode ser feito de forma visual, sem uma linha de código.
Neste capítulo vamos aprender importantes conceitos do Interface Builder, para utilizar menos código ao desenvolver aplicativos.
Animações não pode faltar não né?.
Aprenda a criar as animações mais conhecidas, como mover objetos pela tela, rotacionar e redimensionar, e efeitos de transparência.
A forma recomendada de criar animações no iOS é utilizando blocos (blocks), que é um trecho de código executável que pode ser executado independentemente, ou até passado como parâmetro para uma função.
Vamos aproveitar este capítulo e estudar diversos conceitos sobre a utilização de blocos, com exemplos práticos.
Aprenda a desenhar views customizadas e a tratar os eventos de touch.
Exemplo de como mover uma view pela tela, arrastando com o dedo.
Dynamic Behavior (iOS7)
Aprenda o SpriteKit (iOS7): novo framework de desenvolvimento para jogos 2D criado no iOS7.
Desenhos de baixo nível (canvas) com o Quartz: desenhar linhas, quadrados, círculos, etc.
É muito importante entender o funcionamento do gerenciamento de memória no iOS.
Vamos explicar os conceitos de retain, release, autorelease e ARC.
Mesmo que você aprenda a utilizar o ARC (gerenciamento automático de memória), é importante entender o gerencimento de memória manual, pois mais cedo ou mais tarde, você vai acabar se deparando com códigos, projetos, e frameworks que utilizam esta abordagem.
Existem diversas ferramentas de profiler no Xcode, para auxiliar o desenvolvedor a encontrar problemas comuns, como vazamento de memória.
Aprenda a utilizar estas ferramentas neste capítulo, para monitorar a memória, verificar os objetos vivos na aplicação, chamadas de métodos, etc.
Aprenda como funciona o sistema de notificações do iOS.
Vamos estudar Local e Push Notifications.
Exemplo de como criar um servidor para enviar as mensagens de push.
Neste capítulo vamos aprender a instalar e debugar o projeto diretamente no seu iPhone ou iPad, que está conectado na USB.
O processo da Apple é burocrático, mas será fornecido todos os passos para você se tornar um desenvolvedor Apple.
Aprenda a assinar e publicar seu projeto na App Store passo a passo.