Aprendendo Programação. ios. Alasdair Allan. Novatec



Documentos relacionados
Design Centrado no Usuário

Jonathan Stark Brian Jepson

Novatec Editora Ltda. [2014].

Primeiros Passos com o Raspberry Pi

Luiz Carlos Querino Filho

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Desenvolvimento de Grandes Aplicações Web

Julia Elman e Mark Lavin. Novatec

Google Analytics Justin Cutroni

PDF Explicado John Whitington

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Padrões de Projeto em PHP

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

2ª EDIÇÃO. André Milani. Novatec

Pramod J. Sadalage Martin Fowler

Aprendendo Programação. ios. Alasdair Allan. Novatec

jquery Cookbook Comunidade de Desenvolvedores jquery

Guia Prático Richard E. Silverman

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Crie Seu Próprio Site

Primeiros Passos com o Netduino

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

David Hows Peter Membrey Eelco Plugge

Pete Goodliffe. Novatec

Harrison Kinsley Will McGugan

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Josh Pauli Revisão técnica Scott White. Novatec

Introdução ao GitHub Peter Bell e Brent Beer

Novatec Editora Ltda

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

André Gugliotti. Novatec

Equipes de Software. Um guia para o desenvolvedor de software se relacionar melhor com outras pessoas. Brian W. Fitzpatrick Ben Collins-Sussman

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Brandon Rhodes John Goerzen

Hélio Engholm Jr. Novatec

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Criando Aplicações Gráficas com PHP

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

Desenvolvendo para iphone e ipad

Criando Relatórios com PHP

Ademir C. Gabardo. Novatec

Wilson Moraes Góes. Novatec

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

Camila Porto. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec

Ricardo R. Lecheta. Novatec

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Mineração de dados da web social Matthew A. Russell

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Karl Matthias Sean P. Kane

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Adrian Mejia. Novatec

Desenvolvendo Websites com PHP

Allan Liska e Timothy Gallo. Novatec

Novatec Editora Ltda

Padrões JavaScript Stoyan Stefanov

Desenvolvendo para iphone e ipad

Benjamin Bengfort Jenny Kim

Ryan Mitchell. Novatec

Aprendendo Cocoa com Objective-C Paris Buttfield-Addison Jonathon Manning

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Desenvolvendo Websites com PHP

Desenvolvimento de Grandes Aplicações Web

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Miguel Grinberg. Novatec

Allen B. Downey. Novatec

Ricardo R. Lecheta. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

As Leis Fundamentais do Projeto de Software

Empresa. Dave Gray. Novatec. com Thomas Vander Wal

Ricardo Kléber M. Galvão. Novatec

Josh Lockhart. Novatec

Semmy Purewal. Novatec

Desenvolvendo para iphone e ipad

como acabar com sua em apenas 140 caracteres Carolina Lima Novatec

Wilson Moraes Góes. Novatec

WordPress 3 Básico Stephanie Leary

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Service Desk Corporativo

Nelson Glauber de Vasconcelos Leal

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Guia Definitivo de. . DJ Waldow Jason Falls. Tradução Aline Naomi Sassaki. Novatec

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Edgar Gomes de Abreu

Shyam Seshadri & Brad Green

Programando o Android Zigurd Mednieks, Laird Dornin, G. Blake Meike e Masumi Nakamura

Desenvolvimento móvel para IOS - Apple Carga Horária Por Módulo: 16 Horas.

Josh Lockhart. Novatec

Kenneth Reitz Tanya Schlusser

A Arte de Escrever Programas Legíveis

Raspberry Pi Manual do Usuário

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

Transcrição:

Aprendendo Programação ios Alasdair Allan Novatec

Authorized Portuguese translation of the English edition of titled Learning ios Programming, 3rd edition, ISBN 9781449359348 2013 Alasdair Allan. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Learning ios Programming, 3rd edition, ISBN 9781449359348 2013 Alasdair Allan. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. Novatec Editora Ltda. [2013]. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Rafael Zanolli Revisão técnica: Aurelio Jargas Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-363-5 Histórico de impressões: Julho/2013 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Prefácio...11 Terceira edição... 11 Notas da segunda edição... 11 Quem deveria ler este livro?...12 O que você já deve saber?...12 O que você aprenderá?...12 O que há neste livro?...12 Convenções utilizadas neste livro... 14 Uso de exemplos de código...15 Como entrar em contato conosco...16 Agradecimentos...16 capítulo 1 Por que seguir o caminho nativo?...17 Os prós e os contras... 18 Por que escrever aplicativos nativos?... 19 O ciclo de lançamento...20 Desenvolva e eles virão... 21 capítulo 2 Como se tornar um desenvolvedor...23 Registro como desenvolvedor ios...23 Inscrição no ios Developer Program...26 Mac Developer Program...27 Instalação do SDK do ios...28 O que acontece quando houver um beta?...32 Preparação de seu dispositivo ios...32 Criação de um certificado de desenvolvimento...33 Obtenção do UDID de seu dispositivo de desenvolvimento...36 Criação de uma App ID...37 Criação de um perfil de aprovisionamento móvel...38 Tornando seu dispositivo disponível para desenvolvimento...39

6 Aprendendo Programação ios capítulo 3 Seu primeiro aplicativo ios...42 Introdução à Objective-C...42 Programação orientada a objetos...42 Modelo de objetos da Objective-C...45 Introdução à sintaxe da Objective-C...47 Criação de um projeto...48 Exploração do projeto no Xcode...52 Nosso projeto no Interface Builder...60 Construção da interface de usuário... 61 Conexão da interface de usuário com o código...63 Execução do aplicativo no simulador...67 Colocação do aplicativo em seu iphone... 68 capítulo 4 Codificação em Objective-C...70 Declaração e definição de classes...70 Declaração de uma classe com a interface... 71 Definição de uma classe com a implementação...72 Tipagem de objetos...73 Propriedades...73 Síntese de propriedades...75 Sintaxe de ponto...76 Declaração de métodos...76 Chamada de métodos...77 Chamada de métodos em nil...78 Gerenciamento de memória...78 Criação de objetos...79 Pool de liberação automática...79 Ciclo alloc, retain, copy e release...80 Contagem de referência automática... 81 Método dealloc...82 Resposta a avisos de memória...83 Padrões de projeto ios fundamentais...83 Padrão Modelo-Visão-Controlador...84 Visões e controladores de visão...85 Delegados e o padrão DataSource...86 Conclusão...87 capítulo 5 Aplicativos com base em visão de tabela...88 Criação do projeto... 88 Criação de uma visão de tabela...89 Execução do código...94 Preenchimento da visão de tabela...95

Sumário 7 Construção de um modelo...97 Inclusão de cidades no guia...100 Inclusão de imagens em seus projetos... 103 Conexão do controlador ao modelo... 105 Simulação de funcionalidade com janelas de alerta... 108 Inclusão de controles de navegação no aplicativo... 109 Inclusão de uma visão de cidade...112 Modo de edição... 122 Exclusão de uma entrada de cidade... 126 Inclusão de uma entrada de cidade... 127 Interface Add New City...131 Captura dos dados de cidade... 138 capítulo 6 Outros controladores de visão... 145 Aplicativos utilitários... 145 Desenvolvimento do aplicativo de monitoramento de bateria...147 Aplicativos de barra de guias... 158 Inclusão de outro item de barra de guias...160 Combinação de controladores de visão... 164 Controladores de visão modal...171 Modificação do aplicativo City Guide...171 Controlador de visão do seletor de imagens...181 Inclusão do seletor de imagens no aplicativo City Guide...181 Aplicativos Master-Detail... 192 Criação de um aplicativo universal... 192 Controladores popover... 199 capítulo 7 Conexão com a rede... 201 Detecção de status de rede... 201 Classe Reachability da Apple... 201 Embutindo um navegador web em seu aplicativo... 215 Um controlador de visão web simples... 216 Apresentação de arquivos HTML estáticos...226 Obtenção de dados a partir de uma UIWebView...227 Envio de emails...227 Obtenção de dados da internet... 233 Solicitações síncronas... 234 Solicitações assíncronas... 234 Uso de web services... 235

8 Aprendendo Programação ios capítulo 8 Manipulação de dados... 254 Entrada de dados...254 UITextField e seu delegado... 255 UITextView e seu delegado... 257 Processamento XML... 259 Processamento XML com libxml2... 259 Processamento XML com NSXMLParser... 261 Processamento JSON...263 NSJSONSerialization...263 Framework JSON...265 Recuperação de trends do Twitter...266 Uso do framework Social...268 Aplicativo Twitter Trends...269 Expressões regulares... 278 Introdução às expressões regulares... 278 Armazenamento de dados...284 Uso de arquivos simples...284 Armazenamento de informações em um banco de dados SQL...286 Core Data...294 capítulo 9 Uso de sensores... 295 Suporte de hardware...295 Disponibilidade de rede...295 Disponibilidade de câmera...297 Disponibilidade da entrada de áudio...297 Disponibilidade de GPS...298 Disponibilidade do magnetômetro...298 Configuração de capacidades exigidas de hardware...298 WiFi persistente...300 Modos de segundo plano...300 Diferenças entre iphone e ipad... 301 Uso da câmera...302 Framework Core Motion...303 Recepção de dados de movimento...304 Envio de dados de movimento...305 Acelerômetro...306 Giroscópio... 311 Magnetômetro...314 Acessando o sensor de proximidade...318 Uso da vibração... 320

Sumário 9 capítulo 10 Geolocalização e mapeamento... 321 Framework Core Location...321 Direção do dispositivo... 324 Weather dependente de localização... 325 Geocodificação reversa... 327 Geocodificação progressiva... 327 Objetos CLPlacemark... 328 Modificação do aplicativo Weather... 328 Localização de usuário e MapKit... 337 Anotações em mapas... 345 capítulo 11 Introdução ao icloud... 354 Como posso utilizar o icloud?... 354 Backup no icloud... 355 Provisionamento de seu aplicativo para o icloud... 356 Utilização de armazenamento de chave-valor... 358 Conclusão...366 capítulo 12 Integração de seu aplicativo... 368 Preferências de aplicativo...368 Framework Accounts...380 Framework Social...382 Envio de tuítes...382 Realização de postagens no Facebook...384 Esquemas de URL personalizados...385 Uso de esquemas personalizados...385 Registro de esquemas personalizados...386 Reprodução de mídia...391 Uso do Address Book (Contatos)...396 Seleção interativa de pessoas... 397 Seleção programática de pessoas... 401 Envio de mensagens de texto...402 capítulo 13 Distribuição de seu aplicativo... 404 Inclusão de funcionalidades faltantes...404 Inclusão de um ícone...404 Inclusão de uma imagem de inicialização...408 Alteração do nome de apresentação... 412 Habilitação de rotação... 413 Compilação e assinatura... 415 Distribuição ad hoc... 415 Distribuição de desenvolvedor para desenvolvedor... 421

10 Aprendendo Programação ios Distribuição na App Store...422 Envio à App Store... 423 Compilação de seu aplicativo para distribuição na App Store...430 App Store Resource Center...434 Razões para rejeição...434 capítulo 14 Indo além... 438 Cocoa e Objective-C...438 SDK do ios... 439 Aplicativos Web... 439 PhoneGap...440 Core Data...440 In-App Purchase... 441 MKStoreKit...442 Core Animation...442 Game Kit...442 Elaboração de jogos...443 Visual e comportamento...443 Acessórios de hardware...444 Sobre o autor...445 Colofão...446