よくわかるiPhoneアプリ開発の教科書
【iOS 5&Xcode 4.2対応版】

森巧尚[著]
ISBN978-4-8399-4173-4
2012/02発売

サンプルファイル

本書の「PRACTICE」の項で作っているサンプルのXcodeソースファイルです。

sample42.zip(4.6MB、Xcode 4.2対応)

sample43.zip(4.6MB、Xcode 4.3対応)

sample44.zip(4.6MB、Xcode 4.4対応)

Xcode 4.5に関する補足情報(2013/01/16)

Xcode 4.5でそれまでと変わったところを簡単にまとめます。

【インターフェイス関連】

●Summaryの項目が増えました。(StatusBarのON/OFF、frameworkの追加など、ここだけで行えるようになりました)

●InterfaceBuilderがiPhone5の縦長画面に対応しました。右下に縦長サイズ切り替えボタンとAutolayoutボタンが増えました。
(ファイルインスペクタのUse AutolayoutのチェックオフでAutolayoutをオフにすることができます)

【プログラム関連】

●オブジェクトをselfで指定するようになりました。IBOutletでつけた名前には、「self.」をつけないといけなくなりました
(_名前でもいけますが、self.名前で入力するほうが入力補助が出ます。)

例1)

Chapter5-1のP.084、手順5のソースコードの3行目

03  self.myLabel.text = @"Hello";

83ページの手順3で配置したラベル(手順4で「myLabel」と名前を付けています)を指定するので。

例2)

Chapter8-1のP.227、手順5のソースコードの7行目

06  [self.myWebView loadRequest: myURLReq];

●横に倒しても回転しないようにする方法が以下のように変わりました。

 - (BOOL)shouldAutorotate {
   return NO;
 }

Xcode 4.4に関する補足情報(2012/08/16)

本書は、Xcode 4.2を使った解説になっていますが、Xcode 4.4でもほぼそのまま使えます。


本書のサンプルファイルをXcode 4.4で読み込むと警告が現れますが、ほぼそのまま使えますし、設定を変えることで警告も消せます。

【設定を変える方法】

1)古いバージョンのファイルを読み込むと「 ! 」が上や右上に表示されることがあります。

2)そのときは、「 ! 」をクリックすると、ダイアログが現れますので、「Perform Changes」ボタンを押すと、設定を変えることができます。

Xcode 4.4での変更点

・Xcode 4.4からnew Project作成時に、「Organization Name」という項目が増えました。制作者や制作した会社の名前を入力します。

P246
19行目
nowTagStr = [NSString stringWithString:@""];

nowTagStr = @"";
に変更

32行目
txtBuffer = [NSString stringWithString:@""];

txtBuffer = @"";
に変更

P267
Xcode 4.2から自動生成で「_(アンダースコア)」付きの名前を使っていましたが、Xcode 4.4からは通常の名前で使うように変わったようです。

[14]を以下に修正
- (void)viewDidUnload
{
[self setMySw:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
if (myStr == @"YES"){
mySw.on = YES;
} else {
mySw.on = NO;
}
}

P268

[15]を以下に修正
- (IBAction)changeSw:(id)sender {
if (mySw.on){
myStr = @"YES";
} else {
myStr = @"NO";
}
}

P278、287、290(第2刷以降)
「Xcode 4.3では」は「Xcode 4.3/4.4では」に変更してください。

P297

Xcode 4.4では以下のように書いても動くようになりました(Modern Objective-Cという書き方です)。

_pageData = [NSArray arrayWithObjects:
@"photo1.jpg",
@"photo2.jpg",
@"photo3.jpg",
@"photo4.jpg",
@"photo5.jpg",nil];

_pageData = @[@"photo1.jpg",@"photo2.jpg",@"photo3.jpg",@"photo4.jpg",@"photo5.jpg"];

と簡略化して書くことができます。

Xcode 4.3に関する補足情報(2012/02/17)

本書は、Xcode 4.2を使った解説になっていますが、Xcode 4.3でもほぼそのまま使えます。
※本書のサンプルファイルをXcode 4.3で読み込むと警告が現れますが、ほぼそのまま使えますし、設定を変えることで警告も消せます。

A)Xcode 4.3で変わったところについて

Xcode 4.3では、New Fileのテンプレートに「UIViewController subclass」がないようなので、「Objective C-class」を使用して作ります。

P287
[3] 「UIViewController subclass」を選択して[Next]ボタンを選択し、ファイル名を「myViewController」にして、「with XIB for user interface」のチェックを外してからら、

[3] 「Objective C-class」を選択して[Next]ボタンを選択し、クラス名を「myViewController」にして、「Subclass of」で「UIViewController」を選択し、「with XIB for user interface」のチェックを外してからら、

P278
「UIViewController subclass」を選択して[Next]ボタンを選択し、Class名を「ビューコントローラー名」にして、「with XIB for user interface」のチェックを外してから

「Objective C-class」を選択して[Next]ボタンを選択し、クラス名を「ビューコントローラー」にして、「Subclass of」で「UIViewController」を選択し、「with XIB for user interface」のチェックを外してからら、

P290
[9]以下の2つのメソッドをコメントアウトします。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- (void)loadView

B)Xcode 4.3では、Master-Detail Applicationで、セルをカスタムにしてもセグウェイ接続が切れないようなので、ドラッグして接続し直す必要はないようです。

P324
[4]セグウェイ接続が切れないようなので、ドラッグして接続し直す必要はないようです。

C)Xcode4.3用にしたサンプルファイルをこちらからダウンロードできます。

内容は変わっていませんが、警告が出ませんので、Xcode 4.3の方はこちらをお使いください。

sample43.zip(4.6MB)

補足情報(2012/05/24)

■P267、P268での「_mySw」について

P265でFilpsideViewControllerのスイッチを「mySw」という名前で作っているのに、
P267,P268のFilpsideViewController.mのプログラム中では「_mySw」という名前でプログラムしています。
作った名前とは少し違う「_(アンダースコア)」付きの名前を使っているので疑問に思われるかも知れません。

Utility Applicationの裏画面では、このアンダースコア付きの変数が使われています。
これは、Xcode 4.2の自動生成から出るようになったもので、FilpsideViewController.mの最初の方で、
 @synthesize mySw = _mySw;
と指定されているものです。

実際の変数としては「_mySw」で作っていて、外部からアクセスできるプロパティとしては「mySw」という名前で見えるように作られているものです。

このように作られたオブジェクトにアクセスするには、
1)直接アンダースコアの「_mySw」にアクセスする。
2)外部からアクセスできるプロパティに自分がアクセスするという意味で「self.mySw」でアクセスする。
という方法があります。
本書では「_mySw」で直接変数にアクセスしています。

P297にある「_pageData」も(こちらは新規作成時の最初から作られている変数ですが)、同じようになっています。

訂正情報

■第5刷までの訂正-------------------------------------

●P253

手順6の2行目にミスがありました。

【誤】「.m」ファイル(defaultTestViewController.m)を選択します。

【正】「.m」ファイル(ViewController.m)を選択します。

■初版第1刷の訂正-------------------------------------

●P088

「概要」の図版にミスがありました。

【正】

●P098

「概要」の図版にミスがありました。

【正】

●P164

「大きさの設定」の項目の「例」のソースコードにミスがありました。

【誤】

(例)イメージビューの位置を100,200、大きさを300、400に設定します。

01 myImageView.center = CGRectMake(100,200,300,400);

【正】

(例)イメージビューの位置を100,200、大きさを300、400に設定します。

01 myImageView.frame = CGRectMake(100,200,300,400);

●P165

「回転角度の設定」の項目の「例」のソースコードにミスがありました。

【誤】

(例)イメージビューの回転角度を45度に設定します。

01 myImageView.center = CGAffineTransformMakeRotation(45.0*M_PI/180.0);

【正】

(例)イメージビューの回転角度を45度に設定します。

01 myImageView.transform = CGAffineTransformMakeRotation(45.0*M_PI/180.0);

よくわかるiPhoneアプリ開発の教科書
【Xcode 4対応版】

森巧尚[著]
ISBN978-4-8399-3903-8
2011/07発売

 

 

よくわかるiPhoneアプリ開発の教科書

森巧尚[著]
ISBN978-4-8399-3514-6
2011/01発売