Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Title
Copyright
Dedication
Contents at a Glance
Contents
About the Authors
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Wax On, Wax Off
Who Is This Book For?
What This Book Is
What You Need to Get Started
What's in This Book
Here We Go
Chapter 2: First-Class Tools
Taking a Look Around
So Many Panes!
Editors and the Utilities That Follow Them
Jump Bars
The Organizer
Tabs, Tabs, and More Tabs
Getting Back to the Code
Updating the Core Data Model
Adding a New View Controller
Considering Our Progress So Far
Instruments Time
Get to Instruments Already
So Many Instruments
Tuning Performance
Summary
Chapter 3: Three Screens … and Well, It Runs
Working with GitHub
Connecting to Super Checkout
Taking a Look Around
Running Super Checkout
Navigating the Project (and Xcode)
Summary
Chapter 4: Memory Management and Diagnostics
Branches Are Our Friends
Automatic Reference Counting
Converting to ARC
Recognizing Retain Cycles
Getting Back to Manual Reference Counting
Establishing Healthy Coding Practices
To Retain or Not to Retain, That Is the Question
Connecting Properties and Polymorphic Dots
Performing Static Analysis
Zombies—No Not Those Kind of Zombies
Zombies in Other Threads (Well Sort Of)
Leaks
Revisiting Retain Cycles
GDB Kung Fu
GDB, Don't Fail Me Now
Getting Started with GDB
Determining Context—Where Am I?
Inspecting Data—What Have I Got?
Breaking Up Is Not Hard to Do
Putting It All Together
Fixing Our Bug
When All Else Fails
Heisenbugs
Phone a Friend
Start Over
And We're Done … Almost
Summary
Chapter 5: Core Animation and Smooth Scrolling
Leveraging with the Main Thread
Exploring the Event Loop
Optimizing Code Execution
Improving the Product Screen
Looking Behind the Scenes of a Scroll View
Lazily Loading Images
Bad Scrolling No More
A Brief look at Core Graphics
Getting Back to Instruments
Learning from Apple
Summary
Chapter 6: Networking, Cache, and Power Management
Understanding Networking and Cache Control
Exploring the Client API
Exploring the Server API
Slowing Things Down with the Network Link Conditioner
Controlling the Cache
Looking at Power Management
The Hardware
Coding Techniques
Summary
Chapter 7: Prepare the Beta!
Managing Beta Testing
Defining the Beta
Acquiring Beta Testers
Giving Instructions
Creating Ad Hoc Builds
Certificates, Provisioning, and Distribution, Oh My!
Alpha, Beta, Gamma?
Summary
Chapter 8: Why Are Things Breaking?
Test Driven Development
When Should I Start Testing?
Xcode Makes It Easy to Test
Refining the Tests
Putting It to Use with Your App
Testing SCJSONParser
Mock Objects
Negative Testing
Negative Testing and Useful Failures
UI Testing and the Automation Instrument
Getting Started
Scripting User Interface Tests
Introducing a Bug
The Power of Automation
Test, One Way or Another
Chapter 9: Can We Automate Some of This?
Continuous Integration
Meet Jenkins
Getting Jenkins Up and Running
The Jenkins Interface
Exorcising Jenkins' Daemon
Get a Job
Scripting Xcode
Who Broke the Build?
Quality, Controlled
Distribution Made Easier
Wherefore Art Thou, PackageApplication?
XCRun
Just Archive it, Already
Exporting Beyond Jenkins
Can't Someone Else Handle All This?
Creating Nightlies
Futureproofing Your Build
What Else Can We Do?
Chapter 10: Now, They Want an iPad Version
Before We Start Coding
Designing for the iPad
Implementing the iPad Version
Modifying the Target
The App Delegate and Starting UI
Updating Inventory and Product Details
Modifying the Shopping Cart View Controller
Finishing Up
Summary
Chapter 11: How Do I Share Some of This?
Breaking Out Code into a Static Library
Creating a Static Library
Using Static Libraries
Sharing on GitHub
Signing In to GitHub
Create a Shared Repository
Committing Our Changes
Using GitHub Features
Choosing Your License Wisely
Chapter 12: One More Thing
Customizing Xcode
Behaviors
Fonts & Colors
Text Editing
Key Bindings
Downloads
Documentation
Locations
Distributed Builds
Keyboard Shortcuts and More
Migrating from Xcode 3 to Xcode 4
Give Me the Shortcuts Already!
Viewing Documentation
Summary
Index
← Prev
Back
Next →
← Prev
Back
Next →