Atjaunināt sīkdatņu piekrišanu

iPhone Advanced Projects 1st ed. [Mīkstie vāki]

3.50/5 (16 ratings by Goodreads)
  • Formāts: Paperback / softback, 392 pages, height x width: 235x191 mm, weight: 745 g, 392 p., 1 Paperback / softback
  • Izdošanas datums: 04-Nov-2009
  • Izdevniecība: APress
  • ISBN-10: 1430224037
  • ISBN-13: 9781430224037
Citas grāmatas par šo tēmu:
  • Mīkstie vāki
  • Cena: 32,59 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Standarta cena: 38,35 €
  • Ietaupiet 15%
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Paperback / softback, 392 pages, height x width: 235x191 mm, weight: 745 g, 392 p., 1 Paperback / softback
  • Izdošanas datums: 04-Nov-2009
  • Izdevniecība: APress
  • ISBN-10: 1430224037
  • ISBN-13: 9781430224037
Citas grāmatas par šo tēmu:
As the fourth book in our series of iPhone Projects based on the work and experiences of iPhone, this volume takes on the more advanced aspects of iPhone development. The first generation of iPhone applications has hit the App Store, and now it's time to optimize performance, streamline the user interface, and make every successful iPhone app just that much more sophisticated.



Paired with Apress's bestselling Beginning iPhone Development: Exploring the iPhone SDK, you'll have everything you need to create the next great iPhone app that everyone is talking about.







Optimize performance. Streamline your user interface. Do things with your iPhone app that other developers haven't attempted.



Along with series editor Dave Mark, your guides for this exploration of the next level of iPhone development, include:







Ben Panda Smith, discussing particle systems using OpenGL ES Joachim Bondo, demonstrating his implementation of correspondence gaming in the most recent version of his chess application, Deep Green. Tom Harrington implementing streaming audio with Core Audio, one of many iPhone OS 3 APIs. Owen Goss debugging those pesky errors in your iPhone code with an eye toward achieving professional-strength results. Dylan Bruzenak building a data-driven application with SQLite. Ray Kiddy illustrating the full application development life cycle with Core Data. Steve Finkelstein marrying an offline e-mail client to Core Data. Peter Honeder and Florian Pflug tackling the challenges of networked applications in WiFi environments. Jonathan Saggau improving interface responsiveness with some of his personal tips and tricks, including blocks and other esoteric techniques. Joe Pezzillo pushing thefrontiers of APNS, the new in iPhone OS 3 Apple Push Notification Service that makes the cloud the limit for iPhone apps. Noel Llopis taking mere programmers into a really advanced developmental adventure into the world of environment mapping with OpenGL ES.
Contents at a Glance iv
Contents v
Foreword xi
About the Technical Reviewer xii
Preface xiii
Ben Britten Smith
1(36)
Everything You Ever Wanted to Know About Practicle Systems
3(34)
Adding Life to Your Game with Particles
5(2)
Basic Particle Systems and You
7(14)
Overview of the Sample Code
8(1)
Basic Game Flow
9(1)
The Anatomy of a Particle System
10(2)
Code! Finally!
12(3)
Slight Tangent About Degenerates
15(1)
Back to the Code
16(3)
Random Numbers and Initial Conditions
19(1)
Emitting Particles
20(1)
Tweaking Your Particle System
21(7)
May the Force Be with Your Particles
25(3)
Amazing Technicolor Dream Particle
28(7)
Off on a Tangent: Lerping
28(2)
Color-Changing Particles
30(5)
Summary
35(2)
Joachim Bondo
37(26)
Chess on the `Net: Correspondence Gaming with Deep Green
39(24)
Deep Green, an Already Awesome Application
40(2)
The Tasks at Hand
42(2)
Inviting a Friend to a Game
43(1)
Accepting the Invitation
43(1)
Making a Move
43(1)
Getting Notified
43(1)
The Tools of the Trade
44(1)
Stop Talking, Start Coding!
45(16)
Installing the Tools
45(2)
Coding the Web Service
47(7)
Accepting the Challenge on the Device
54(3)
Making a Move
57(4)
Summary
61(2)
Tom Harrington
63(36)
Audio Streaming: An Exploration into Core Audio
65(34)
Hey, I Could Write an App to Play Music
66(1)
MPMoviePlayerController: Hey, This Is Easy! Right?
66(2)
Finding a Better Approach
68(6)
The System-Sound Way
69(1)
AVAudioPlayer: The Not-Available-in-Beta Way
69(5)
Doing It the Cowboy Way with Core Audio
74(19)
Getting Halfway There: Audio Queue Services
74(7)
Getting the Rest of the Way There: Audio File Stream Services
81(12)
Putting It All into an App
93(3)
One More Thing
93(3)
Launch It!
96(1)
iPhone 3.0 and Further Work
96(1)
Summary
97(2)
Owen Goss
99(40)
You Go Squish Now! Debugging on the iPhone
101(38)
Assumed Knowledge
102(2)
Objective-C vs. and C++
104(1)
While You're Writing That Code
105(4)
Custom Asserts
105(2)
Custom Logging
107(1)
Using #define
108(1)
Crash!
109(3)
Getting a Crash Log from Your Testers
109(1)
You Have Been Saving Your dSYM Files, Right?
110(1)
Symbolicating a Crash Log
110(1)
Using atos
111(1)
Reproducing Rare Crashes
112(1)
Thread
112(1)
System
113(1)
Race Conditions
113(1)
The Scientific Method of Debugging
113(2)
Forming a Hypothesis
113(1)
Creating a Test for Your Hypothesis
114(1)
Proving or Disproving Your Hypothesis
115(1)
Increasing the Probability of the Crash
115(1)
Go, You Have a Call Stack
115(22)
Starting Code
115(3)
What Is a Memory Stomp?
118(4)
Identifying a Mem Stomp
122(1)
Tools to Detect Memory Problems
123(8)
Watching Variables
131(4)
Link Map Files
135(2)
Summary
137(2)
Oylan Bruzenak
139(42)
Building Data-Driven Applications with Active Record and SQLite
141(40)
A Short Road Off a High Cliff (How I Got Here)
141(1)
Ready! Set! Wait, What? (Why I Decided to Write a To-Do Application)
142(1)
Data-Driven Applications on the iPhone
143(1)
Active Record: A Simple Way of Accessing Data
144(1)
Writing a Database Wrapper Around the C API: ISDatabase
144(14)
Setting Up the Example Project
145(3)
Creating and Initializing the Database
148(1)
Opening a Database Connection
149(3)
Making Simple Requests
152(6)
More Advanced SQL
158(6)
Preventing Duplicate Create Statements
158(2)
Handling Parameters
160(2)
Refactoring and Cleanup
162(1)
Grouping Statements into Transactions
163(1)
Writing a Simple Active Record Layer: ISModel
164(12)
Maintaining the Database Connection
165(1)
The Model Object: Grocery Item
165(1)
How Groceries Are Mapped
166(2)
Saving
168(2)
Updating
170(1)
Deleting
170(1)
Finding Grocery Items
171(3)
Putting It All Together
174(2)
Simple Migration Handling
176(3)
Alternative Implementations
179(1)
Summary
180(1)
Ray Kiddy
181(28)
Core Data and Hard-Core Design
183(26)
Where Did Core Data Come From?
184(1)
The Client Is King
184(1)
A Very First Core Data App
185(9)
First, Steal Code (Not Music!)
186(1)
A View to an Object, Any Object
187(6)
Our Very First Crash, or Perhaps Not!
193(1)
CoreData Tutorial for iPhone OS: Managing Model Migrations
194(5)
The Easy Migrations Are Easy
194(3)
Adding a New Entity
197(2)
Using Key-Value Coding to Create a Reusable Object
199(4)
Remote Databases: It's All Net!
203(3)
Summary
206(3)
Steve Finkelstein
209(38)
Mart In-Application E-mail with Core Data and Three20
211(36)
Planning a Simple Offline SMTP Client
212(1)
Creating the User Interface
213(5)
Diving into Xcode
213(2)
Setting Up Instance Variables in OfflineMailerAppDelegate.h
215(2)
Initializing the UIApplication Delegate
217(1)
Working with Core Data
218(6)
Understanding the Core Data Stack
221(1)
Adding Three20
221(3)
Journeying Through the User Interface
224(2)
Managing Top-Level Data with DataManager
226(2)
Diving into Three20 and TTMessageController
228(2)
Composing and Sending Messages
230(5)
Creating the Core Data Model
235(4)
Hacking SKPSMTPMessage to Support Threaded Message Sending
239(1)
Setting Up the NSRunLoop on SKPSMTPMessage
239(2)
Switching the Bits Back to Online Mode
241(3)
Summary
244(3)
Florian Pflug and Peter Honeder
247(98)
How !Tap Tackles the Challenges of Networking
249(96)
Meet !Tap and !Tap Receiver
250(2)
!Tap
251(1)
!Tap Receiver
251(1)
How the Idea for !Tap Emerged and Evolved
252(62)
Create the Client
314(5)
The Application Delegate
315(2)
Handling Incoming Notifications
317(1)
Sounds
318(1)
Build and Gol Er, Not So Fast
318(1)
Create the Certificate
319(12)
A Walk-Through of the Program Portal Process
319(1)
Back to the Portal
319(10)
Add the Mobile Provisioning File for Code Signing
329(2)
Set Up the Server
331(5)
A Walk-Through of What This Script Does
333(1)
Download Server File
334(2)
The Home Stretch
336(5)
Wiring Up the Client
336(5)
Additional Considerations/Advanced Topics
341(3)
Feedback Server
341(1)
SSL Server Connections
342(1)
Moving from Development Sandbox to Production
342(1)
Development vs. Ad Hoc
343(1)
Mobile Provisioning Files
343(1)
Debugging
343(1)
User Experience
343(1)
Open Source Code
344(1)
Hosted Solutions
344(1)
Summary
344(1)
Noel Liopis
345(20)
Environment Mapping and Reflections with OpenGL ES
347(18)
The Beginnings
347(2)
First Steps: OpenGL Lighting
349(3)
Turning to Environment Mapping
352(1)
Spherical Environment Mapping Implementation
353(3)
Comblning Environment Mapping and Diffuse Textures
356(9)
Per-Pixel Reflections
359(3)
iPhone 3GS
362(1)
Summary
363(2)
Index 365
Dave Mark is a longtime Mac developer and author who has written a number of books on Mac and iOS development, including Beginning iPhone 4 Development (Apress, 2010), More iPhone 3 Development (Apress, 2010), Learn C on the Mac (Apress, 2008), The Macintosh Programming Primer series (Addison-Wesley, 1992), and Ultimate Mac Programming (Wiley, 1995). Dave loves the water and spends as much time as possible on it, in it, or near it. He lives with his wife and three children in Virginia.