328 pages | ISBN 978-1-4302-7221-2
This is an introduction to the Xcode family of development tools. It includes coverage of the developer's different options for software development on the Mac and a preview of what is coming up in the rest of the book.
At the heart of Apple's software development toolkit is Xcode - the code development environment, encompassing code editing, data modelling, project management and debugging. This chapter will give you an introduction to the tools and the philosophy underlying Xcode development.
Designing an appealing user interface is central to creating great Mac and iPhone software. In this chapter you will explore Interface Builder and learn how to assemble the UI components along with code into working programs. You will learn how to create a simple yet powerful word processor.
The iPhone is currently the most exciting platform for software development. This chapter shows how easy it is to get started with iPhone development, and you will build a simple interactive application for the iPhone.
Underlying most Mac and iPhone software is the collection of software libraries called the Cocoa Frameworks. Using the Frameworks will give a great speed boost for your software development, and this chapter shows how you can start creating useful software using the Frameworks and minimal coding. You will build a code-free web browser, a simple database application and a screensaver.
The MVC pattern is behind most serious object-oriented design in Xcode. This chapter is a gentle introduction to designing and building software using this design pattern.
This chapter is all about helping you to hunt down bugs in your software, using Xcode's built-in debugging tools.
The Developer Documentation is one of Apple's best-kept secrets. It's there in every Xcode installation and yet is probably harder to use than it should be. This chapter gives you some clear and simple strategies for extracting the useful stuff from the vast repository of documentation.
By this stage in the book all of the principal tools have been introduced. This chapter is all about applying them to a real programming problem - building a real application. The Daily Journal is a consultant's diary and client relationship management program and you will be learning how to design and build it here.
This chapter helps you to secure the investment you have made in the code you have built, by showing you how to build and use a source code management repository using Subversion.
All programmers write bugs into their code - no-one is perfect. You can protect your code against many forms of bug by simply adopting unit testing. In this chapter you will learn how to set up your projects for unit testing, and how to design, implement and interpret tests in your code.
Understanding the way in which your software works under the covers - where the memory goes, what factors influence performance - can be incredibly difficult. Using Xcode's Instruments and Shark utilities will take you a long way towards understanding performance issues with your software. This chapter shows how to do it.
This chapter is a detour into some of the lesser-travelled backwaters of Xcode. A variety of really useful but relatively unknown utilities lurk in your Xcode installation, and this chapter will explore some of them with you. Topics covered include the Help Indexer utility which will help you to create high-quality context-sensitive help for your software and the FileMerge tool for sorting out inconsistencies between code versions.
In this chapter you will be learning about designing your software for usability and accessibility. Apple provides excellent support for the developer to create applications with consistent and enjoyable designs, and to create software that can be used by all potential users, especially those with visual or other sensory impairments.
Getting your killer Mac or iPhone application out to the masses is the eventual aim of most software projects. This chapter is all about assembling your application into a form that you can distribute to your users for easy installation. For iPhone developers, the chapter describes how you set up your computer, iPhone and Developer Portal membership to get started on iPhone app distribution.