Home Page Icon
Home Page
Table of Contents for
II. Creating Simple iPhone Applications
Close
II. Creating Simple iPhone Applications
by Jamey McElveen, Chris Craft
iPhone® Game Development
Copyright
About the Authors
Credits
Acknowledgments
Introduction
How This Book Is Organized
Part I: Beginning iPhone Programming
Part II: Creating Simple iPhone Applications
Part III: Shall We Play a Game?
Part IV: Advanced Technical and Business Programming Concepts
Part V: Appendixes
Icons Used in This Book
I. Beginning iPhone Programming
1. Getting Started
1.1. Appreciating the History of Mobile Devices
1.2. Introducing the iPhone SDK
1.3. Introducing the iPhone Developer Program
1.3.1. The cost of getting started
1.3.2. Signing up to be an iPhone Developer
1.4. Un-Boxing Your iPhone Developer Tools
1.4.1. iPhone Dev Center
1.4.2. iPhone Developer Program Portal
1.4.3. iTunes Connect
1.4.4. iPhone Developer Support Center
1.5. Testing Applications on Your Device
1.5.1. Generate and install a Development Certificate
1.5.1.1. Using the iTunes Developer Program Portal to generate your Development Certificate
1.5.1.2. Exporting your private key
1.5.2. Register iPhone and iPod touch Device IDs
1.5.3. Create an App ID to identify your application
1.5.4. Generate and install a Development Provisioning Profile
1.5.5. Configure the Code Signing Identity of your application
1.5.6. Build and test your application on your development device
1.6. Summary
2. Creating Your First App: Hello World
2.1. Setting Up Your Environment
2.2. Getting the iPhone SDK
2.2.1. Registering for the tools
2.2.2. Downloading the tools
2.2.3. Installing the iPhone SDK
2.2.3.1. Uninstalling previous versions of the iPhone SDK
2.3. Test-Driving the SDK
2.3.1. Getting a sample app to try out
2.3.2. Running the sample in the iPhone Simulator
2.3.3. Running the sample on your iPhone or iPod touch
2.4. Programming: Hello World
2.4.1. Defining your goals
2.4.2. Examining your options
2.4.2.1. Xcode
2.4.2.2. Interface Builder
2.4.2.3. Generating code
2.4.3. Coding the application
2.4.3.1. About Us screen
2.4.3.2. Application icon
2.5. Summary
II. Creating Simple iPhone Applications
3. Constructing Puzzle Apps
3.1. Reviewing Famous Examples
3.2. Understanding Game Design: Presenting Challenges
3.2.1. Create time pressure
3.2.2. Limit number of turns
3.2.3. Limit space
3.3. Embracing Multi-Touch
3.3.1. Leveraging a new style of input
3.3.2. Learning the technology
3.3.2.1. Responding to touchesBegan
3.3.2.2. Responding to touchesMoved
3.3.2.3. Responding to touchesEnded
3.3.2.4. Responding to touchesCancelled
3.4. Envisioning Animations
3.5. Programming: AmuckSlider
3.5.1. Defining your goals
3.5.2. Examining your options
3.5.3. Coding the application
3.5.3.1. Creating the project
3.5.3.2. Putting info in the Info View
3.5.3.3. Managing level data
3.5.3.3.1. Examining the Game class in detail
3.5.3.3.2. Examining supporting Game classes and more
3.5.3.4. Building the Menu View
3.5.3.5. Polishing the Menu View
3.5.3.6. Programming the Game View
3.5.3.6.1. Reviewing the TileView class
3.5.3.6.2. Understanding the magic behind the MainViewController
3.5.3.6.3. Initializing the display
3.5.3.6.4. Responding to touches
3.5.3.6.5. Reviewing the utility methods
3.5.3.6.6. Polishing the Game View
3.6. Analyzing Business Aspects
3.7. Summary
4. Building Novelty Apps
4.1. Programming: iFlame
4.2. Programming: iDrum
4.3. Programming: Bonfire
4.4. Analyzing Business Aspects
4.5. Summary
III. Shall We Play a Game?
5. Producing Action Games
5.1. Reviewing Famous Examples
5.2. Understanding Game Design: Excitement and Achievement
5.2.1. Enjoying the benefits of competition
5.2.2. Creating sprites
5.2.3. The online marketplace
5.2.3.1. Open Clip Art Library
5.2.3.1.1. Puzzle game
5.2.3.1.2. Real-time strategy game
5.2.3.1.3. The Lost Garden
5.2.3.1.4. 99 Designs
5.2.4. Creating sounds
5.3. Programming: AmuckRacer
5.3.1. Defining your goals
5.3.2. Examining your options
5.3.3. Coding the application
5.3.3.1. Creating the project
5.3.3.2. Wiring up the user interface
5.3.3.3. Removing the Status Bar
5.3.3.4. The basics of collision detection
5.4. The Road Ahead
5.4.1. Full-screen animation
5.4.1.1. The game loop
5.4.1.1.1. Random numbers
5.4.1.1.2. Animating the road
5.4.1.1.3. Tiling an image
5.4.2. Putting the player in charge
5.4.2.1. Updating the player's score
5.4.2.1.1. Staying alive
5.5. What's Next?
5.6. Analyzing Business Aspects
5.7. Summary
6. Building Community with Facebook
6.1. Getting to Know Facebook
6.2. Connecting to Facebook Accounts
6.2.1. Download the Facebook Connect for iPhone SDK
6.2.2. The Facebook Connect sample project
6.2.3. Registering as a Facebook developer
6.3. Creating a Facebook application
6.3.1. Setting the Facebook API key and application secret
6.3.2. Creating a feed template
6.3.3. Creating a new Facebook Connect application
6.3.4. Working with sessions
6.3.5. Learning more about delegates and protocols
6.3.6. Creating alert views
6.3.7. Logging in
6.3.8. Getting extended permissions
6.3.9. Publishing feed stories
6.4. Using the Facebook Platform API
6.5. Analyzing Business Aspects
6.6. Summary
7. Connecting Players in Real Time
7.1. Facing the Challenges of Real-Time Multiplayer Games
7.1.1. Network latency
7.1.2. Lost packets
7.2. Understanding Game Design: Competition
7.2.1. Practice makes perfect
7.2.2. Extending the learning curve
7.3. Choosing Your Connection Options
7.4. Hooking Up with Your Peers
7.4.1. Running and reviewing P2P Chat
7.4.2. Dissecting the code behind P2P Chat
7.4.2.1. Introducing the GKPeerPickerController
7.4.2.2. Introducing GKSession
7.4.2.3. Researching performance
7.5. Programming: AmuckPuck
7.5.1. Making a good first impression
7.5.2. Understanding the data
7.5.2.1. What is needed to draw the hockey table
7.5.2.2. What is needed to communicate and control the hockey table
7.5.3. Focusing on the details
7.5.3.1. Setting up a hockey table
7.5.3.2. Using Core Animation
7.5.3.3. Calculating believable physics
7.5.3.4. Separating logic for host, client, and head-to-head
7.5.3.5. Adding a splash of glitz
7.5.3.6. Reviewing the last pieces
7.5.4. Connecting to players with peer-to-peer
7.5.4.1. Sending and receiving messages
7.5.4.2. Establishing a connection between peers
7.6. Analyzing Business Aspects
7.7. Summary
8. Taking Turns with Other Players
8.1. Examining Turn-Based Game Play
8.1.1. Reviewing the game flow
8.1.2. Understanding the stages
8.2. Understanding Game Design: Strategy
8.3. Choosing Your Connection Options
8.3.1. Head-to-head
8.3.1.1. Pros
8.3.1.2. Cons
8.3.2. Peer-to-peer
8.3.2.1. Pros
8.3.2.2. Cons
8.3.3. Web services
8.3.3.1. Pros
8.3.3.2. Cons
8.3.4. Push notification
8.3.4.1. Pros
8.3.4.2. Cons
8.4. Finding Friends to Compete Against
8.4.1. Connecting players with Web services
8.4.1.1. Connecting players with the application installed
8.4.1.2. Connecting players without the application installed
8.4.2. Adding push notification to the process
8.5. Programming: Amuck-Tac-Toe
8.5.1. Designing the application
8.5.2. Abstracting for separation and reuse
8.5.3. Examining the details
8.5.3.1. Presenting options with a table view
8.5.4. Making calls to Web services
8.5.4.1. Accepting messages from Apple Push Notification
8.6. Analyzing Business Aspects
8.7. Summary
IV. Advanced Technical and Business Programming Concepts
9. Grasping Advanced Programming Topics
9.1. Exploring the Camera
9.2. Getting Oriented with the Compass
9.3. Turning Up the Audio
9.3.1. Playing simple sounds with AudioToolkit
9.3.2. Making some "real" noise with OpenAL
9.4. Looking into Video
9.5. Discovering Geolocation
9.6. Stepping into the Third Dimension
9.6.1. Analyzing the OpenGL ES template
9.6.2. Drawing a cube with volume
9.7. Summary
10. Understanding the Business of Software
10.1. Learning Marketing Strategies
10.1.1. App Store reports
10.1.1.1. Financial reports
10.1.1.2. Sales/trend reports
10.1.2. App Store statistics
10.1.3. Application size
10.1.4. Application price
10.1.5. Refunds
10.1.6. Parental controls
10.1.6.1. App ratings
10.1.6.2. Restriction settings
10.1.7. Quality control
10.2. Making the Best Apps
10.2.1. Using sound
10.2.2. OpenGL ES
10.2.3. Transitions
10.2.4. Xcode tools
10.2.4.1. Development Provisioning Assistant
10.2.4.2. Apple Bug Reporter
10.2.5. iPhone 3GS features
10.2.6. iPhone OS 3.0 features
10.2.7. iPhone SDK 3.0 features
10.2.7.1. Simulator vs. device
10.2.8. Worldwide Developers Conference
10.2.8.1. Apple Developer Connection (ADC) memberships
10.2.9. Apple Developer Forums
10.2.10. Apple Push Notification service
10.2.11. Product icons
10.2.12. Supporting different iPhone OS versions
10.3. Exploring App Store Concepts
10.3.1. Supply and demand
10.3.2. Promo codes
10.3.3. Contests
10.3.4. App Store rejections
10.3.5. App Store custom backgrounds
10.3.6. Top free and paid applications
10.3.7. iTunes Deep Links
10.3.8. Worldwide distribution
10.3.9. App Store Logo License Program
10.3.10. iTunes Affiliates Program
10.4. Customer Reviews
10.4.1. Feedback
10.4.2. Review sites and testimonials
10.4.2.1. Customer ratings
10.5. Using App Store Search Secrets
10.5.1. Keywords
10.5.2. App Store application description
10.5.3. On sale
10.5.4. Videos
10.5.5. Maximum number of applications
10.5.6. App Store application categories
10.5.7. App Store approval wait times
10.6. Marketing Yourself
10.6.1. Social networking
10.6.2. In-app marketing and advertising
10.6.3. Competition
10.6.4. Testing
10.6.5. In App Purchases
10.6.6. Blogs
10.6.7. Lite version
10.6.8. App updates
10.6.9. Ad Hoc beta testing
10.6.10. Application names
10.6.11. Application piracy
10.6.12. Screen shots
10.7. Summary
10.8. Epilogue: Looking Ahead
10.8.1. Refining your skills
10.8.2. Answering the question: Is there more?
10.8.3. Where to learn more
10.8.4. Preparing for the future
10.8.4.1. Building apps with change in mind
10.8.4.2. Predicting the future
V. Appendixes
A. Resources
A.1. Useful Links
A.1.1. 71squared
A.1.2. 148Apps.biz
A.1.3. AppsAmuck
A.1.4. How to make iPhone Apps
A.1.5. iCodeBlog
A.1.6. iDevGames
A.1.7. iLounge
A.1.8. iPhone Dev Center
A.1.9. iPhone Dev SDK
A.1.10. iPhone SDK Articles
A.1.11. Mobile Orchard
A.1.12. The Unofficial Apple Weblog
A.1.13. Wiley's Developer Reference Series
A.2. Books
A.2.1. Cocoa Touch for iPhone OS 3.0
A.2.2. iPhone 3GS Portable Genius
A.2.3. iPhone Fully Loaded
A.3. Certification and Training
A.3.1. Certificate in iPhone and Cocoa Development
A.3.2. Stanford University's iPhone Application Programming Class
A.3.3. WWDC 2009 Session Videos
B. 31 Days of iPhone Apps
B.1. Day 1: Minutes to Midnight
B.2. Day 2: Bonfire
B.3. Day 3: openURL
B.4. Day 4: What Is My IP?
B.5. Day 5: Count Me In
B.6. Day 6: Reaction Time
B.7. Day 7: Speed Dial
B.8. Day 8: Flickr KML
B.9. Day 9: Snow Fall
B.10. Day 10: Where Am I?
B.11. Day 11: Plumb Bob
B.12. Day 12: U Decide
B.13. Day 13: My Google
B.14. Day 14: Sleep Sound
B.15. Day 15: ZipWeather
B.16. Day 16: World Tour
B.17. Day 17: Fireball
B.18. Day 18: Homeland Security
B.19. Day 19: Altimeter
B.20. Day 20: Temperature Converter
B.21. Day 21: iDrum
B.22. Day 22: Pumpkin Face
B.23. Day 23: Hypno
B.24. Day 24: AmuckColors
B.25. Day 25: Sierpinski
B.26. Day 26: LavaFlow
B.27. Day 27: PhotoFrame
B.28. Day 28: DigiClock
B.29. Day 29: Password Generator
B.30. Day 30: DeathCalc
B.31. Day 31: Moolah
Glossary
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
2. Creating Your First App: Hello World
Next
Next Chapter
3. Constructing Puzzle Apps
Part II. Creating Simple iPhone Applications
In This Part
Chapter 3
Constructing Puzzle Apps
Chapter 4
Building Novelty Apps
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset