この質問が何度か聞かれたことは知っていますが、より一般的な回答を探しています。iOS 6 用のアプリを開発しました。シミュレーター (Retina 3.5 および 4 インチ) と iPhone 4 デバイスでテストしました。クラッシュしたことはありませんが、アプリを Apple に送信したところ、次のような回答がありました。
iOS 6.1.3 を実行している iPhone 5 でアプリを起動すると、アプリがクラッシュすることがわかりました。
クラッシュログを見ると
範囲外のインデックスから 164 行目でクラッシュすることがわかります。これは、次のコードがあるため意味があります。
「if」を追加してindexTimesArray
、配列の長さよりも大きい場合は実行を停止し、その理由を確認しましたが、エラーを再現できませんでした。私は彼らのように決して得index out of bounds
ません... iPhone 5デバイスでテストしていないのは事実ですが、私のコンピューターにはXCode 4.6とiOS 6.1があり、iOS 6.1.3のiPhone 4もありますが、また、Apple の担当者がアプリをクラッシュさせていることも事実ですが、エラーを再現するにはどうすればよいでしょうか? テスト時と同じように、TestFlightからアプリをインストールしようとしましたが、まだエラーはありません...
エラーを再現するにはどうすればよいですか? ビルド設定に問題があるのでしょうか?
ありがとう
[編集] 次のように、オブジェクトの init メソッドで timesArray の内容を初期化します。
- (id)init{ self = [super init]; df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-dd HH:mm"]; rangeDates = [[NSArray alloc]initWithObjects:@"2013-04-11 10:00", @"2013-04-12 10:00", @"2013-04-13 10:00", @"2013-04-14 10:00", nil]; timesArray = [[NSArray alloc]initWithArray:[NSArray arrayWithObjects:@"10:00", @"11:00", @"12:00", @"13:00", @"14:00", @"15:00", @"16:00", @"17:00", @"18:00", @"19:00", @"20:00", @"21:00", @"22:00", nil]]; colorDictio = [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:[UIColor colorWithRed:0.74 green:0.66 blue:0.37 alpha:1.0], [UIColor colorWithRed:0.64 green:0.15 blue:0.11 alpha:1.0], [UIColor colorWithRed:0.313 green:0.65 blue:0.69 alpha:1.0], [UIColor colorWithRed:0.79 green:0.4 blue:0.59 alpha:1.0], [UIColor colorWithRed:0.45 green:0.55 blue:0.53 alpha:1.0], [UIColor colorWithRed:0.14 green:0.27 blue:0.66 alpha:1.0], nil] forKeys:[NSArray arrayWithObjects:@"showers area", @"zinctalks", @"zincnetwork", @"zincshows", @"zinclabs", @"zinczone", nil] ]; return self; }