iOS Developer Tools
To develop apps for iOS, you need an Intel-based Macintosh computer and the Xcode tools. Xcode is Apple’s suite of development tools that provide support for project management, code editing, building executables, source-level debugging, source-code repository management, performance tuning, and much more. At the center of this suite is the Xcode app itself, which provides the basic source-code development environment and provides access to other tools.
The focus of your development experiences is the Xcode app. Xcode is an integrated development environment (IDE) that provides all of the tools you need to create and manage your iOS projects and source files, assemble your user interface, build your code into an executable, run and debug your code either in iOS Simulator or on a device, and profile your code in Instruments. Xcode incorporates a number of features to make developing iOS apps easier, including the following:
A project management system for defining software products
A code-editing environment that includes features such as syntax coloring. code completion. and symbol indexing
An integrated editor for creating storyboard and nib files
Integrated source-level debugging using LLDB
Support for integrated source-code management
Support for DWARF debugging information
Support for managing iOS development devices
To create a new iOS app, you start by creating a new project in Xcode. A project manages all of the information associated with your app, including the source files, build settings, and build rules needed to put all of the pieces together. The heart of every Xcode project is the project window, shown in Figure A-1. This window provides quick access to all of the key elements of your app. You manage your project’s files and meta information using the Navigator, which is the column on the left side of your project. The toolbar contains commonly used tools and commands. The rest of the workspace is configurable for your needs.
Figure A-1 An Xcode project window
When you build your app in Xcode, you have a choice of building it for iOS Simulator or for a device, as shown in Figure A-2. Simulator provides a local environment for testing your apps to make sure they behave essentially the way you want. After you are satisfied with your app’s basic behavior, you can run your app on an iOS device connected to your computer. Running your app on a device provides the ultimate test environment, and Xcode lets you attach the built-in debugger to the code running there.
Figure A-2 Running a project from Xcode
For information about using Xcode, see Xcode Overview .
To ensure that you deliver the best user experience for your software, Instruments lets you analyze the performance of your iOS apps while running in iOS Simulator or on a device (see Figure A-3 ). Instruments gathers data from your running app and presents that data in a graphical display called the timeline view. You can gather data about your app’s memory usage, disk activity, network activity, and graphics performance among others. The timeline view displays all the types of information side by side, letting you correlate the overall behavior of your app, not just the behavior in one specific area. To get even more detailed information, you can also view the detailed samples that Instruments gathers.
Figure A-3 Using Instruments to tune your app
In addition to providing the timeline view, Instruments provides tools to help you analyze your app’s behavior over time. For example, the Instruments window lets you store data from multiple runs so that you can see whether your app’s behavior is actually improving or whether it still needs work. You can save the data from these runs in an Instruments document and open them at any time.
For information on how to use Instruments, see Instruments User Guide .
The Developer Library
The iOS Developer Library contains the documentation, sample code, tutorials, and other information you need to write iOS apps. You can browse and search the iOS Developer Library from the Apple Developer website. In Xcode, choosing Help > Documentation and API Reference displays the Xcode documentation window, shown in Figure A-4. You can use this window to search the documentation and to bookmark documents you might want to refer to later.
Figure A-4 The iOS Developer Library
Important: The content of the iOS Developer Library is updated regularly, but you can also access the latest documentation, release notes, tech notes, technical Q&As, and sample code from the iOS Dev Center. All documents are available in HTML, and most are also available in PDF format.
For more information about using the Documentation windows, see Xcode Overview .