このクラッシュはシミュレーターでのみ発生します。実際のデバイスでは、問題なく動作し、デバッグできます。(したがって、それほど重要ではありませんが、シミュレーターが便利なプレゼンテーションに取り組んでいます。)
- (BOOL)peoplePickerNavigationController:
(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
[self displayPerson:person];
if ([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]){
[self dismissViewControllerAnimated:YES completion:nil];
} else {
[self dismissModalViewControllerAnimated:YES];
}
return NO;
}
クラッシュは次のとおりです。
[self dismissViewControllerAnimated:YES completion:nil];
私が見るのは次のとおりです。"Thread 1: EXC_BREAKPOINT (code=EXC_I386_BTP, subcode=0x0)"
デバッグ ウィンドウに特定の出力はありません。ズームビーが有効になっています。ARCをしています。ストーリーボードを使用していますが、次のコードを使用してプログラムで ABPersonPicker を呼び出します。
-(void)showPeoplePickerController
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]) {
[self presentViewController:picker animated:YES completion:nil];
} else {
[self presentModalViewController:picker animated:YES];
}
return;
}
私が持っているデバイス (iPod Touch 第 4 世代、iPhone 4 および iPhone 4S) で問題なく動作していることを覚えておいてください。