Instant New iPad Features in iOS 6 How-to

The Book

Instant New iPad Features in iOS 6 How-to is an eBook from Packt Publishing.

What is covered?

The book provides a short and practical coverage of apps available in iOS 6, specifically designed for iPad. The apps covered include iPhoto, iMovie, Keynote, Numbers, Pages, iBooks, GarageBand, Mail, and Photos. Instructions on how to leverage iCould to keep your data and documents in sync are also provided. Over 60% of the content is focussed on paid Apple apps, such as iPhone and GarageBand.

What isn’t covered?

At the start the book indicates technical device details wont be addressed. iOS 6 delivered significant new features that the book does not cover. For example Siri, Safari, and Phone had powerful additions. Maps is a completely new app and there was also the addition of Passbook and finally a Clock app. Social integration was also expanded and deepened. However, the book does not address these.

The Verdict?

Great little book if you require some practical guidance on using and setting up some of the Apple apps available for iPad.

Disclaimer: I was given a free copy for review.

Automated Xcode 4 builds and DerivedData

Xcode 4 introduced the DerivedData location. Derived data contains various pieces of data related to Xcode projects, including logs, indexes and build products. The location of the DerivedData folder that Xcode utilises can be configured in a number of places. By default Xcode will use the following path:

~/Library/Developer/Xcode/DerivedData

This location may also be affected by Xcode’s settings, by your project’s settings, or even by your project’s target settings. Typically this location won’t be of concern when just using Xcode’s GUI to build, run, and archive projects. However, one use case where this can be an issue is for automated builds triggered using the xcodebuild command. Imagine you’ve scripted an automated build that builds your Xcode project and produces build products (e.g. a static library or application binary) which are then packaged and/or distributed elsewhere. It would be difficult to know exactly where the DerivedData folder that contains these build products is located.

One solution is to favour some form of convention. That is, to always use the same location for the DerivedData folder for all your Xcode projects and have this folder hard-coded in your build scripts. The better solution is to tell xcodebuild where to place your build products. xcodebuild can accept build settings, so all we need to do is specify the appropriate setting value. For example:

xcodebuild -configuration Debug CONFIGURATION_BUILD_DIR=/tmp/build

The important piece is the setting of the CONFIGURATION_BUILD_DIR build setting. This allows your script to explicitly define where any build products are placed. In the example build products, including static libraries, application binaries, and dSYM folders would be placed in /tmp/build. Personally I use the following format:

xcodebuild -configuration Debug CONFIGURATION_BUILD_DIR=$SRCROOT/BuildProducts

This will place all the build products in a folder called BuildProducts relative to the project I’m building.