nib but the view outlet was not set

簡単な画面遷移のプログラムを組んでいた時に、急にSIGABRTを連発して先に進まなくなり、エラーの詳細を確認したら『(前略)nib but the view outlet was not set』となっていて、このエラーメッセージでググったら、新しく作ったViewがFile’s Ownerにリンクされてないだけということが判明した。

画面を作るのと一緒に、前画面から次画面にデータを受け渡す処理を構築していたせいで、そのデータの受け渡しや利用の仕方に問題があるものと思い込んで、数十分、あーでもないこーでもないと時間を無駄にした。
 
 
超基本的なことでも、タイミングが悪いと強敵になるという話。
あと、横着せずにエラーメッセージはちゃんと確認しようね、という話。

数値と文字列の変換

文字列を数値に、もしくはその逆で、数値を文字列にする方法のまとめ。

『文字列から数値に変換』

NSString *str = @"1.23456789";
int x = [str intValue];
float y = [str floatValue];
double z = [str doubleValue];

 
『数値から文字列に変換』
『整数』

int i = 100;
NSString *str = [NSString stringWithFormat:@"%d", i];

『小数』

double d = 1.2345;
NSString *str = [NSString stringWithFormat:@"%f", d];

アプリの更新

一度App Storeに申請・登録されたアプリに更新を掛ける方法のまとめ。

1.info.plistの『Bundle version』を今より大きい数字にする
2.AppleサイトのMemberCenterからiTunesConnect>Manage Your Applicationsに入り、該当のアプリを選択して、1で決めたバージョン番号と同じ番号で『Add Version』プロファイルを作成する
3.ビルド先を『iOS Device』にしてProduct>Archiveを実行
4.Organizerを開いて、Archivesで今作成したArchiveを選択し、Validateを実行
5.Validateが通ったら、Submit

この工程のどこでもエラーになってなければ、New Versionのアプリが『Waiting For Review』になるはず。
 
 
2012/04/25 追記
・3のArchiveの時点で『Code sign error:Provisioning profile 〜 can’t be found』というエラーが出る場合
 
実機テストやら何やらでProvisioning profile周りをいじった際に、陥りそうなエラー。
エラーの内容としては単純で、プロジェクトの『TARGETS』>『Build Settings』>『Code Signing』で、指定されたProvisioning profileが間違っているためにエラーになっている。
ここを、Member Center上で作成した正しいProvisioning profileに変えてやれば、エラーは出なくなる。

アイコンサイズとアイコンのグラデーション加工をオフにする方法

タイトルの通り、アイコンに関するまとめ。

『アイコンサイズ』
デフォルト:Icon.png (57 x 57)
Retina用:Icon@2x.png (114 x114)
App Store用:XXX.png (512 x 512)
起動画面用:Default.png (320 x 480)
起動画面Retina用:Default@2x.png (640 x 960)

起動時に表示される画像に関しては、Default.pngの名前でResourceとかのフォルダに入れておけば、勝手に認識してくれる様子。
アイコンファイルは、info.plistの『Icon file』もしくは『Icon files』で指定する。
 
 
『グラデーション加工OFF』
Info.plistで適当なKeyの+を押して、『Icon already includes gloss and bevel effects』を追加してチェックを入れる。

オフにしたいのにチェックを付けるっていうのが、ちょっと納得行かないところ。
まあ、設定の英文からして、Apple的にはアイコンにグラデーションがかかってて当たり前、みたいな考えなんだろうけど。(『Icon already includes gloss and bevel effects』=『このアイコンにはもうグラデーション加工を施してあります』)

Mapkitのいろいろ

ネットからいろいろ拾い読みして試していたら記事としてまとめる気力を使い果たしたので、ログとして記事作成。
後日気力が回復したら、しっかりまとめようと思います。

『Mapkitにアイコン画像でピン立て』
 http://blog.syuhari.jp/archives/2040

『ピンが落ちてくるアニメーション』
 http://blog.syuhari.jp/archives/2049

『MKPinAnnotationView』
 http://iphone-tora.sakura.ne.jp/mkpinannotationview.html

『ジオコーディングとJSON』
 http://kinsentansa.blogspot.com/2010/05/iphonejsonjson-framework-by-stig.html

『ピンの座標(起点)変更』
 http://blog.fenrir-inc.com/jp/2011/06/mapkit-pin.html