Mac OS X Reference Library Apple Developer
Search

Creating a Project in Xcode

Every Cocoa application starts life as a project. A project is a repository for all the elements that go into the application, such as source code files, frameworks, libraries, the application’s user interface, sounds, and images. You use the Xcode application to create and manage your project. In this chapter, you will learn to create a project, and see what all the various parts of a project are for. In the process, you will learn how to navigate the Xcode user interface, and you will learn about all the different folders available for you.

Open Xcode

To open Xcode:

  1. In the Finder, go to /Developer/Applications.

  2. Double-click the icon, shown in Figure 2-1.

Figure 2-1  The Xcode application icon

The Xcode application icon

The first time you start Xcode, it takes you through a quick setup process. The default settings should work for the majority of users.

Make a New Project

This section will guide you through the process of creating a project. Though it is focused on creating a project suitable for Currency Converter, you will learn about other options available to you when creating a new project.

Choose the New Project Command

To create a project, choose File > New Project. The New Project Assistant appears.

Choose a Project Type

Xcode can build many different types of applications, including everything from Carbon and Cocoa applications to Mac OS X kernel extensions and Mac OS X frameworks. For this tutorial, use the Cocoa Application template.

  1. Select Cocoa Application and click Choose…, as shown in Figure 2-2

    Figure 2-2  The New Project Assistant in Xcode

    The New Project Assistant in Xcode
  2. Type the project’s name, Currency Converter, in the save sheet, and choose where you want to save the project. Then click save.

Xcode creates the project’s files and displays the project window, shown in Figure 2-3.

Figure 2-3  The new Currency Converter project in Xcode

The new Currency Converter project in XcodeThe new Currency Converter project in Xcode

The Xcode Project Interface

The Groups & Files list allows you to easily navigate through your project’s files and traits. All the source files, images, and other resources that make up a project are grouped in the project group, the first item in the Groups & Files list; this group is named after the project (here, Currency Converter). The project’s files are grouped into subgroups, such as Classes, Other Sources, Resources, and so on, as shown in Figure 2-3. Groups are very flexible because they do not necessarily reflect either the on-disk layout of files in the project or the way the build system handles those files. Groups are purely for organizing your project. The groups created by Xcode should be suitable for most developers, but you can customize them however you like.

These are the groups Xcode sets up for Cocoa applications:

Below the project group are other groups, including smart groups. Smart groups—identified by the purple folders on the left side of the list—allow you to access the project’s files using custom rules in a way similar to using smart playlists in iTunes.

These are some of the other groups in the Groups & Files list:

Curious folks might want to look in the project directory in Finder to see the files it contains. Among the project files are:

Currency Converter.xcodeproj

This package contains information that defines the project. You should not modify it directly. You can open your project by double-clicking this package.

main.m

An Objective-C file, generated for each project, that contains the main function of the application.

English.lproj

A directory containing resources localized to the English language. In this directory are nib files automatically created for the project. You may find other localized resource directories, such as Dutch.lproj.

What’s Next?

In this chapter, you made an Xcode project that will contain all the resource files for a Cocoa application. In the next chapter, you will learn how to create the model, the basic functionality behind an application.




Last updated: 2009-08-03

Did this document help you? Yes It's good, but... Not helpful...