Mobile Development

Xcode

Xcode is a powerful Integrated Development Environment (or IDE) created by Apple for developers. Xcode is used to build native mobile applications for iOS devices. You will be using Xcode exclusively for writing source code and debugging your apps. Xcode comes bundled with a number of applications including:

  1. Source code editor, compiler and debugger - Used to write and test code
  2. Interface Builder - Used to build visual interfaces for your users
  3. iPhone and iPad Simulator - Used to run your apps easily and quickly without the need to connect your device.

The latest version of Xcode is Xcode 6 and can be downloaded by visiting the following link: https://developer.apple.com/xcode/

Overview of Xcode

Below is a labeled diagram describing Xcode - its panes, toolbars and general layout. Since you will be using Xcode on a regular basis, it is important to know where the buttons, views and toolbars are located. In the below diagram, Xcode is currently debugging an iPhone app:

  1. Build Controls - Runs and stops the current build
  2. Active Scheme, Device - Selectable list of schemes and available simulator and connected devices to run the build.
  3. Project Status - Current status of the project including active errors and warning counts.
  4. Window Pane Controls - Configures Xcode window panes into a variety of options.
  5. Navigator Tab Bar - Optional states for the navigator tab bar such as symbols, search and breakpoint list.
  6. Project Navigator - List of files contained in your project or workspace.
  7. Quick Controls - Contains a filter for the above Project Navigator and a quick add files button ("+")
  8. Gutter - Can contain line numbers associated with your source code and active, non-active breakpoints.
  9. Source Code - Editor for source code
  10. Run Control - Options for debug including toggling breakpoints, step controls and run and pause.
  11. Memory Snapshot - During debug, shows active, recently changed memory in a read-only format.
  12. Console - During debug, provides NSLog output as well as the ability to input commands directly to the debugger.
  13. Library - UI Library available for Interface Builder.
  14. Utility Pane - Configuration and utility functions available per file or control within Interface Builder.

[Video] - What's New in Xcode (WWDC 2014)

Each iteration of Xcode, Apple releases an informative video describing new and important features of their IDE. The following video will walk you through these features.

What's new in Xcode

Now that we have an overview of Xcode, our next chapter will discuss Interface Builder.

References

Xcode Overview - https://developer.apple.com/library/prerelease/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/TheWorkspaceWindow.html

Xcode: Learn More - https://developer.apple.com/library/prerelease/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/GettingaHands-OnIntroduction.html#//apple_ref/doc/uid/TP40010215-CH68-SW1