More iPhone Cool Projects (eBook)
360 Seiten
Apress (Verlag)
978-1-4302-2923-0 (ISBN)
Everyone is developing iPhone applications, and it's clear why. The iPhone is the coolest mobile device available, and the App Store makes it simple to get an application out into the unstoppable iPhone app market. With hundreds of thousands of app developers entering the game, it's crucial to learn from those who have actually succeeded. This book shows you how some of the most innovative and creative iPhone application developers have developed cool, best-selling apps.
Not only does every successful application have a story, but behind every great app is excellent code. In this book, you'll see the code and learn how to use it to make your own cool applications. You'll learn everything from importing 3D art assets into your iPhone game to using Cocos2d for iPhone and iPad. This book shares the secrets of the coolest iPhone apps being built today by the best iPhone developers-invaluable knowledge for anyone who wants to create the app that everyone is talking about.
Ben Britten Smith has been writing software on Apple platforms for 15 years. Most notably, he was given an Academy Award for technical achievement for his feature film work with Mac-based suspended camera control systems. Lately, he has switched his efforts from the big screen to the small screen. His first iPhone game, SnowDude, was published to the App Store a few months after the software development kit became available. Since then, he has written a dozen apps for various clients, including the games Snowferno, the award winning Mole Quest for the Terracore Gem, and the Gamebook Adventures series. Ben lives in Melbourne, Australia with his wife, Leonie, and their pet bunnies.
Everyone is developing iPhone applications, and it's clear why. The iPhone is the coolest mobile device available, and the App Store makes it simple to get an application out into the unstoppable iPhone app market. With hundreds of thousands of app developers entering the game, it's crucial to learn from those who have actually succeeded. This book shows you how some of the most innovative and creative iPhone application developers have developed cool, best-selling apps.Not only does every successful application have a story, but behind every great app is excellent code. In this book, you'll see the code and learn how to use it to make your own cool applications. You'll learn everything from importing 3D art assets into your iPhone game to using Cocos2d for iPhone and iPad. This book shares the secrets of the coolest iPhone apps being built today by the best iPhone developers invaluable knowledge for anyone who wants to create the app that everyone is talking about.
Ben Britten Smith has been writing software on Apple platforms for 15 years. Most notably, he was given an Academy Award for technical achievement for his feature film work with Mac-based suspended camera control systems. Lately, he has switched his efforts from the big screen to the small screen. His first iPhone game, SnowDude, was published to the App Store a few months after the software development kit became available. Since then, he has written a dozen apps for various clients, including the games Snowferno, the award winning Mole Quest for the Terracore Gem, and the Gamebook Adventures series. Ben lives in Melbourne, Australia with his wife, Leonie, and their pet bunnies.
Title Page 1
Copyright Page 2
Contents at a Glance 4
Table of Contents 5
Preface 10
Acknowlegments 11
Introduction 12
Who This Book Is For 12
What’s in the Book 13
Danton Chin 14
Chapter 1 Using Concurrency to Improve the Responsiveness of iPhoneand iPad Applications 16
Prepare for Concurrency 16
Non-Responsive User Interfaces 19
Building the Interestingness User Interface 20
Adding A JSON Parsing Framework to the InterestingnessApp 23
Composing a RESTful Request for a List of Interestingness Images 23
Using the RESTful Request and the JSON Parser to Parse the Response 25
Implementing the UITableViewDataSource Protocol Methods to Display the Results 27
Concurrency Landscape 29
Considerations When Using Concurrent Solutions 30
Concurrency with NSThread and NSObject 32
Concurrency with Operation Objects 37
NSOperationQueue 38
NSOperation and NSInvocationOperation 39
NSInvocationOperation—Quick and Easy 40
Subclassing NSOperation 40
Building HelloOperationQueues—a Toy Application 41
Building the User Interface for HelloOperationQueues 43
Creating Work Units by Subclassing NSOperation 45
Implementing HelloOperationQueues 46
Changing the Interestingness App to Use NSOperationQueues 50
Implementing the NSInvocationOperation to Fetch the List of interestingness images 52
Implementing FetchImageOperation a Subclass of NSOperation 53
Implementing the getImageForURL: and storeImageForURL:Methods 55
Concurrency with Operation Objects and Blocks 58
Blocks 59
Adding the PLBlocks Framework 61
Changing the Interestingness Application to Use NSOperationQueues and Blocks 63
Converting the Interestingness App to Use an Official Version of Blocks and NSBlockOperation from Apple 66
Summary 66
Resources 67
Apple and Apple-related News 67
Apple Documentation 67
Blocks and Grand Central Dispatch 68
General 69
JSON 69
POSIX Threads 69
Claus Höfele 70
Chapter 2 Your Own Content Pipeline: Importing 3D Art Assets into Your iPhoneGame 72
Starting an iPhone Game 72
Why Write Your Own Tools? 73
Creating a Flexible Content Pipeline 74
The Tools Problem 74
Data Exchange vs. In-Game File Formats 76
Outline of the Example Code 77
Exporting 3D Models 78
Reading FBX files 79
Traversing the Scene Contents 82
Distinguishing between Different Types of Scene Nodes 83
OpenGL Triangle Data 84
Converting FBX Models into Triangle Data 86
Converting Triangle Data into an In-Game Format 89
Handling Textures 92
Image Compression vs. Texture Compression 92
Imagination’s PVRTC Format 93
Reading PNG Images 95
Converting Images into the PVRTC Format 97
Rendering the Converted Data on the iPhone 99
Running the Converter Tool 99
Creating the iPhone Project 99
Summary 100
Ben Kazez 102
Chapter 3 How Flight Track Uses External Data Providers to Power This Best-SellingTravel App 104
Choosing a Data Source 105
API Design 106
Data Coverage and Accuracy 107
Economics 108
Attribution 108
Subscription 108
Transactional 108
Revenue Share 109
Trials 109
Source-Driven User Interface Design 109
Challenges 110
Techniques from FlightTrack 111
Design Patterns for Data Source Consumption 112
Direct-Client Consumption 112
Server-Intermediary Consumption 113
Data-Driven Cocoa App Architecture 114
Data Model Design 114
Connecting Data to UI 115
Delegates 115
Notifications 116
Setter Propagation 117
Choosing an Approach 117
Release! 118
FlightTrack Today 118
Saul Mora 120
Chapter 4 Write Better Code and Save Time with Unit Testing 122
Mock Objects 133
Testing Your Core Data Models 140
Summary 147
Leon Palm 148
Chapter 5 Fun with Computer Vision:Face Recognition with OpenCV on the iPhone 150
What Is Computer Vision? 153
Why Do Computer Vision on an iPhone? 154
Your Project: Creating a Face Detector 155
Setting Up OpenCV 155
Setting Up XCode 158
Adding Image Conversion Functions 160
Creating a Simple GUI 162
Loading Images from the Photo Library 164
Loading the Haar Cascades 165
Performing Face Detection 167
Bonus 169
Performance Tweaking 170
Going Further 172
Summary 173
Scott Penberthy 174
Chapter 6 How to Use OpenGL Fonts without Losing Your Mind 176
History 177
Terminology 178
Pragmatic Fontery 180
fCookie 180
Creating a Font’s Texture Atlas 181
Texture Mapping 184
Opening Your App 186
The Fontery Classes 186
APGlyph 187
APChar 188
APText 190
Putting It All Together 192
Setting Up the Display 194
Creating Your Fortune 195
Displaying the Fortune 197
Summary 200
Ben Britten Smith 201
Chapter 7 Game Development with Unity 203
What Is Unity? 204
Why Use Unity? 205
Exploring the Unity Interface 207
The Scene View 208
The Game View 209
The Project View 210
The Hierarchy View 210
The Inspector View 210
How the Pipeline Flows 210
The Transform: Everybody Has One 211
Meshes, Renderers, and Materials 212
Importing Assets 216
Custom Scripting 217
Playing Your Game 220
Coroutines Not Updates 221
The Game View 222
Adding Lights 225
Using the iPhone as a Game Pad 226
Your Game 227
Adding a Base to Work From 228
The Main Character 230
Inputs and Colliders 236
Your First Design Iteration 240
Adding More Touchable Objects 242
Prefabs 243
Animations 244
Animation Import Settings 245
Interacting with Something Besides the Floor 249
User Interface 252
Multiple Cameras 253
3D Objects As GUI Items 255
Building for Your Device 259
Summary 260
Chuck Smith 261
Chapter 8 Cocos2d for iPhone and iPad It Is Easier than YouThink263
Origins of Cocos2d 263
Why Use Cocos2d? 264
Getting Started with Cocos2d 264
Installing Cocos2d 266
Configuring Sample Code 266
Installing the XCode Project Templates 267
Starting a New Project 268
Introduction to Video Poker 269
Making a Scene 270
Creating a Game Menu 272
Game Logic 273
Card 274
Deck 276
SimpleHand 278
I Like the Sprites in You 282
Load and Display a Sprite 282
Manipulating Sprites 283
Spawns 283
Sequences 284
Putting It All together 284
Events: Making It Interactive 287
Detecting Sprite Taps 288
Combining Many Actions Together 290
Switching a Sprite Image 291
Adding Sound 292
Supporting the iPad 293
Further Exploring cocos2d 298
David Smith 299
Chapter 9 Creating an Audio-Centric App for the iPhone with AVAudioPlayer 301
Design 302
Designing for Your Target User 302
Our Design Process 303
Home Screen 303
Book Selection Screens 304
Book Information Screen 304
Player Screen 305
Implementation 307
Example Project 308
Getting Started 308
Setting Up the UI 310
Coding the Audio Player 314
Connecting the Play/Pause Button 316
Connecting the Skip Controls 317
Providing Player State in the UI 317
Understanding Audio Sessions 318
Summary 319
Joost van de Wijgerd and Arne de Vries 320
Chapter 10 Implementing PushNotifications at eBuddy 322
Introduction to eBuddy 322
The eBuddy Messenger 323
The eBuddy iPhone Application 323
Apple Push Notification Service 324
The Communication Flow 325
The Client Implementation 325
The eBuddy Push Implementation 328
Client / Server Protocol 328
Server to APNS 329
Fitting the Parts Together 333
Changes along the Way 334
Introducing eBuddy Pro 334
Extending the Beta Program 335
Summary 336
Index 337
Erscheint lt. Verlag | 30.7.2010 |
---|---|
Zusatzinfo | 360 p. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Informatik ► Betriebssysteme / Server ► iOS |
Informatik ► Betriebssysteme / Server ► Macintosh / Mac OS X | |
Informatik ► Programmiersprachen / -werkzeuge ► Mac / Cocoa Programmierung | |
Informatik ► Software Entwicklung ► Mobile- / App-Entwicklung | |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
Schlagworte | App • app development • Apple iPad • Apple iphone • App Store • graphics • iPad • iPhone |
ISBN-10 | 1-4302-2923-3 / 1430229233 |
ISBN-13 | 978-1-4302-2923-0 / 9781430229230 |
Haben Sie eine Frage zum Produkt? |
Größe: 14,2 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich