iphone sdk debug memo

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

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください