This might be an iOS 6 issue, but I had to register the reuse identifier to avoid a crash.
I moved CellIdentifier to the top of the .m (but after the imports) and added this call to inithWithStyle:

[self.tableView registerClass:UITableViewCell.class forCellReuseIdentifier:CellIdentifier];


You shouldn’t have to make that change. Are you sure that autocomplete didn’t get you to use dequeueReusableCellWithIdentifier:forIndexPath:, rather than dequeueReusableCellWithIdentifier: (which is what the book uses)?