iphone sdk Debug memo
これは私がiphone アプリ「この日何曜日」を開発する途中で参考になったり、気になったことのメモです
the executable was signed with invalid entitlements
- ビルドでエラー
- 対策:XCodeのプロジェクト→クリーニング を実行
- 参考サイト:BPS Programmer’s BLOG
- 発生要因:別のMacへコピーしたとき、他の人のソースを使うときなど
プロビジョニングされた iphone os 装置が接続されていません
- ビルドでエラー
- 対策:iphoneを再起動する
- 対策:プロビジョニング関連ファイルの確認
- もしオーガナイザーでエラーが出ている場合
The version of iphone OS on XXXXXX does not match any of versions of iPhone OS supported for development with this instllation of the iPhone sdk-
対策:xcodeがiphoneの4.0.2に対応していないのでsdkを最新に更新する(ios4に変更した場合)
複数台の環境を作る場合
- 対策:キーチェーンからiphone developer証明書の暗号鍵を右クリックして.p12で書き出してもう一台へ
- 参考サイト:平均から抜けられない僕
warning : Control reaches end of non-void function
- 対策:抜け道がないかコードを見直し、必要なら return を追加する
- 解説:関数の最後までたどり着いてしまったけどreturnを実行しないケースがあると言うこと
- 参考サイト:プログラムの誤りを見つける
- 2010/09/19 追記
ピッカー(Picker)の幅と高さの調整
- Picker 開始位置のみ変更可能:
picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0.250.0.0)];
- Picker 開始位置と幅と高さが設定可能:
picker = [[UIPickerView alloc] init]; [picker setFrame:CGRectMake(61,260,200,162)];
- 解説:CGRectMake(開始x座標, 開始y座標, 幅, 高さ)
- 参考サイト:iPhoneプログラミングメモ
- 2010/10/06 追記
App Store で自分のアプリがダウンロードされている状況
- App Store で自分のアプリがどれだけダウンロードされているかは
iTunes Connect の Sales and Trendsで日報や週報を見ることができる - App Store の方をさがしてみつからなかった、こっちにあったのか
- 2010/10/09 追記
warning : Format not a string literal and no format arguments
- コンパイルでWarningが表示される
- Warningあり:NSLog([NSString stringWithFormat:@”%d , %d”,year,month]);
- Warningなし:NSLog(@”%d , %d”,year,month);
- 参考サイト:inuchin104がiPhoneと格闘したメモ
- 2010/11/13 追記
warning : Incomplete implementation of class
- コンパイルでWarningが表示される
- 宣言されているのに、実装されていないメソッドがある
- 参考サイト:iphoneメモ
- 2010/11/13 追記
文字列から数値への変換、数値からの文字列へ変換
- いつも悩む文字列→数値、数値→文字列 の変換
- 文字列→数値 int i = [@”123″ intValue];
- 数値→文字列 NSString *tx = [NSString stringWithFormat:@”%d”,123];
- 参考サイト:iphoneアプリ開発日記
- 2010/11/26 追記
The version of iphone OS on XXXXXX does not match any of versions of iPhone OS supported for development with this instllation of the iPhone sdk
- オーガナイザーでエラー
- iphone とSDKのバージョンがかみ合っていない
- iphoneが4.2なのにsdkがiOS4.1だったり
- 対策:DevCenterへ行ってiOS_SDK_4.2をダウンロードしてインストール
- 2010/12/02 追記
Base SDK Mising
- SDK:概要のところにエラー
- 症状:グループとファイル→Frameworksでパッケージ名が赤い文字になっている
- SDK4.2をインストール後Base SDKが正しく設定されていない
- 対策:プロジェクトの情報→ビルド→アーキテクチャ→iOS 4.1(見つかりません)になっているのでiOS 4.2に設定する
- 2010/12/03 追記
AppStoreでアプリの新しいスクリーンショットが更新されない
- 症状:iTunes Connect で新しいバージョンのスクリーンショットを登録しているのにAppStoreに古いバージョンのスクリーンショットが表示される
- 対策:iTunes Connect → Manage Your Apps → 該当Appを選択 → 該当バージョンを選択 → 右上にある Manage Localizations ボタンを押す → Language:JapaneseのImages:Editに新しいバージョンのスクリーンショットを登録する
- 2010/12/13 追記
iphone本体にあるファイルを読む方法
- Resources グループに置いたファイルは読み出すことができる
-
[NSString *path = [[NSBundle mainBundle] pathForResource:@”sample” onType:@”txt”];
NSString *text = [NSString stringWithContentsOfFile:path encoding:NSUFT8StringEncoding]; - 参考サイト:
アプリをリリースした方に聞きたいことがあります - 2010/12/27 追記
*** Terminating app due to uncaught exception ‘NSRangeException’, reason:
‘*** -[NSMutableArray insertObject:atIndex:]: index 19 beyond bounds for empty array’
- NSMutableArray:空の配列にいきなり insertObject で19番目を追加しようとした
- 2011/01/04 追記
*** Terminating app due to uncaught exception ‘NSRangeException’, reason:
‘*** -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array’
- NSMutableArray:配列をobjectAtIndexで見に行ったら空だった
- 私の場合、配列に整数をそのままオブジェクトとして追加していた
-
整数はそのままではオブジェクトとして追加できないので、NSNumberでくるんでやる必要がある
NSNumber *y1 = [NSNumber numberWithInt:[yy1 intValue]];
[holidayY1 insertObject:y1 atIndex:k]; - 2011/01/04 追記
Thread 1: Program received signal: “SIGABRT”
- Thread 1: Program received signal: “SIGABRT”
- 突然、おかしくなって、main の int retVal = UIApplicationMain(argc, argv, nil, nil); のところで停まってしまう、ちゃんと動いていた古いバージョンのプロジェクトでも発生する
- 対策1:iPhoneシュミレータの[iPhoneシュミレータ]メニュー → [コンテンツと設定をリセット]
- 対策2:XCodeの[Product]メニュー → [Clean]
- 対策3:Macを再起動する
- 参考サイト:イメージを表示したい:寺子屋サルでき旧館
- Xcode 4.2 環境にて 2011/11/20 追記
A valid provisioning profile for this executable was not found.
- Code Signing Identity の指定をdistribution用 に切り替えてそのまま忘れている、developer用 に戻せばOK
- 2012/05/29
Could not install provisioning profile
- The profile XXXX does not include this device and cannot be installed thereon.
- 調査中 2010/10/21