small medium large xlarge

Xcode Treasures: Master the Tools to Design, Build, and Distribute Great Apps


Cover image for Xcode Treasures

Xcode Treasures

Master the Tools to Design, Build, and Distribute Great Apps


Learn the critical tips and techniques to make using Xcode for the iPhone, iPad, or Mac easier, and even fun. Explore the features and functionality of Xcode you may not have heard of. Go under the hood to discover how projects really work, so when they stop working, you’ll know how to fix them. Explore the common problems developers face when using Xcode, and find out how to get the most out of your IDE. Dig into Xcode, and you’ll discover it’s richer and more powerful than you might have thought.

Customer Reviews

No matter how long you’ve been writing iOS and Mac apps using Xcode, you will
find a ton of treasures in this book. Some of them will be things that you’ve used
in the past and forgotten, but many will have you saying “Wow, I didn’t know
Xcode could do that.”

- Daniel H. Steinberg

Storyteller, Dim Sum Thinking

Xcode is a fairly deep program. Most developers barely scrape the surface and
only occasionally go down the rabbit hole. Whether you’re brand new to Apple
platforms development or a seasoned code slinger, this book has something for
you. You’ll discover insights on app versioning, alternate views on Storyboard,
and a wealth of debugging and provisioning tips too. Xcode Treasures will make
a valuable addition to your tool belt.

- Tim Mitra

President, iT Guy Technologies

See All Reviews

Choose Your Format(s)

  • $24.95 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

What You Need

This book requires Xcode 9 and a Mac running macOS High Sierra (10.13.2) or later. Additionally, an iOS device is recommended for on-device testing but not required.

Contents & Extracts

  • Acknowledgments
  • Introduction
    • Been There, Done That
    • What’s in an IDE?
    • No Regrets
    • About This Book
    • Expectations and Technical Requirements
    • Online Resources
  • Projects
    • Understanding Projects and Files
    • Working with Project and Target Settings
    • Using Configurations
    • Managing Your App’s Version Numbers
    • Adding Images and Other Files to the App
    • Creating App Extensions and Frameworks
    • Wrap-Up
  • Storyboards: Appearance
    • Working with Scenes
    • Inspecting the Inspectors
    • Making Sense of Auto Layout
    • Wrap-Up
  • Storyboards: Behavior
  • Editing Source Code
    • Theming the Code Editor
    • Setting Text Editor Preferences
    • Faster File Navigation
    • Comment Magic
    • Finding Documentation and Definitions
    • Typing Source Code
    • Searching for and Replacing Text
    • Coding With Snippets
    • Wrap-Up
  • Building Projects
    • Understanding App Bundles
    • Build Settings
    • Build Phases
    • Special Files in Builds
    • Building on the Command Line
    • Wrap-Up
  • Debugging Code
    • Finding Bugs with Breakpoints
    • Digging Deeper into Breakpoints
    • Debugging with the Console
    • Finding and Fixing Crashing Bugs
    • Visual Debugging
    • Wrap-Up
  • Improving Performance
    • Managing Memory Mistakes
    • Optimizing CPU Use
    • Wrap-Up
  • Automated Testing
    • Adding Test Targets
    • Viewing Code Coverage
    • Using Environment Variables in Tests
    • Running Tests on the Command Line
    • Packaging App Data for Tests
    • Wrap-Up
  • Security
    • Sandboxing and Entitlements
    • App IDs and Your Developer Account
    • Automatic Code Signing
    • Manual Code Signing
    • Wrap-Up
  • Source Control Management
    • Creating and Cloning Git Repositories
    • Using Your Git Repository
    • Branching and Merging
    • Dealing with Xcode’s Git Limitations
    • Wrap-Up
  • Platform Specifics
    • Command-Line Applications on macOS
    • Multi-Platform Projects
    • Working with watchOS Simulators
    • On-Demand Resources for tvOS
    • Layer Stack Images for tvOS
    • External Monitors on iOS
    • Wrap-Up
  • Extending Xcode
    • Editor Extensions
    • Distributing the Extension
    • Wrap-Up


Chris Adamson is the co-author of iPhone 10 SDK Development (Pragmatic Programmers) and Learning Core Audio (Addison-Wesley Professional). He’s also a freelance iOS and Mac developer, based in Grand Rapids, Michigan, where he also writes the Time.code() blog at and hosts livestreams at Over the years, he has managed to own fourteen and a half Macs.