IOS3の下で正常に動作するiPadアプリはIOS4.2で失敗します。操作キューからhttpセッションを実行するクラスがあり、失敗はこのアクティビティにリンクしています。IOS4.2アプリはEXC_BAD_ACCESSで終了します
Program received signal: “EXC_BAD_ACCESS”.
[Switching to thread 11523]
私はコード内のNSLog文を置くと、ローカル変数が変更されたときにクラッシュが発生することが判明しているので、何も明らかにしなかった有効NSZombiesを実行している:ここではコンソール出力です。ここでは、コードセクションがある:
self.currentOperation = [[[DeduceAccessOperation alloc] init] autorelease];
[self.currentOperation addObserver:self forKeyPath:@"isFinished"
options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
context:NULL];
NSLog (@"Start observer added");
[operationQueue addOperation:self.currentOperation];
NSLog (@"Start operation added");
NSLog(@"State is %d", self.status);
self.status = IEnablerServiceUpdating;
NSLog (@"State updated");
そしてここでは、コンソールログ出力されます:ステータスが読み取り専用(これのプロパティは、原子や読み書きとして宣言されている)となっているよう
2010-12-08 21:26:44.548 UCiEnabler[5180:307] Start observer added
2010-12-08 21:26:44.550 UCiEnabler[5180:307] Start operation added
2010-12-08 21:26:44.552 UCiEnabler[5180:307] State is 1
Program received signal: “EXC_BAD_ACCESS”.
[Switching to thread 11523]
それはあります。
その他の関連情報は、サブビューが変更されたばかりで、上記のルーチンで呼び出しをトリガーすることです。コードは
//Start the update
UCiEnablerAppDelegate *controller = (UCiEnablerAppDelegate *)[[UIApplication sharedApplication] delegate];
[controller deduceIEnablerServiceAccess];
controller.serviceBusy = TRUE; //1.04
誰でもこのようなものを見たことがありますか?
誰にも次に見える場所はありますか? NSOperations
を開始する際のiOS 4.2で
#0 0x34a80464 in objc_msgSend
#1 0x3119543e in NSKVOPendingNotificationCreate
#2 0x3119535a in NSKeyValuePushPendingNotificationPerThread
#3 0x3117009a in NSKeyValueWillChange
#4 0x311682c6 in -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:]
#5 0x311cc718 in _NSSetIntValueAndNotify
#6 0x000097ce in -[IEnablerService startDeducingAccessState] at IEnablerService.m:55
#7 0x00002bc0 in -[UCiEnablerAppDelegate deduceIEnablerServiceAccess] at UCiEnablerAppDelegate.m:100
#8 0x0000a33e in -[RootViewControlleriPad animationDidStop:finished:context:] at RootViewController-iPad.m:43
#9 0x341bb336 in -[UIViewAnimationState sendDelegateAnimationDidStop:finished:]
将来** **コードの書式が正しいことを確認するために質問を確認してください。 – JeremyP
また、これをデバッガで実行し、スタックトレースを取得してここにポストします。 – JeremyP
クラッシュの原因となっているステータスのカスタムセッターがない可能性はありますか?その行にブレークポイントを設定し、self.status = IEnablerServiceUpdatingに入るとどうなりますか? – Rog