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:
An integrated editor for creating storyboard and nib files
A context-sensitive inspector for viewing information about selected code symbols
An advanced build system with dependency checking and build rule evaluation
Code compilation using LLVM and Clang
A static analyzer for validating the behavior of your app and identifying potential problems.
Integrated source-level debugging using LLDB
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.
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.
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.
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.
For more information about using the Documentation windows, see Xcode Overview.