iPad模拟器上的断言和异常,但不是iPhone SIM或设备!

时间:2010-10-21 18:24:00

标签: iphone exception ipad addressbook assertion

所以我一直致力于为iOS 4和iPhone 4准备我的应用程序。安装了最新的Xcode和SDK,并且一直在调整图形等等。除了运行应用程序时遇到问题,所有工作都完美无缺。 iPad模拟器。我没有真正的iPad来测试。

我的应用程序使用ABUnknownPersonViewController,当我点击“创建新联系人”时它崩溃,但如果我点击“添加到现有联系人”,则工作很精细。很奇怪!!

当应用崩溃时,我在控制台中收到以下内容:

2010-10-21 13:57:25.873 Copy2contact[58432:207] *** Assertion failure in -[ABPropertyGroup propertyModelControllerAtIndex:], /SourceCache/AddressBookUI_Sim/AddressBookUI-643.49/ABPropertyGroup.m:228
2010-10-21 13:57:25.875 Copy2contact[58432:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: ''
2010-10-21 13:57:25.877 Copy2contact[58432:207] Stack: (
...
...
)
terminate called after throwing an instance of 'NSException'

这不会发生在iPhone模拟器或iPhone设备上,只会发生在iPad上。

  • 目标设备系列:iPhone
  • Base SDK:iOS Device 3.2
  • Xcode 3.2.4

以下是构建测试示例程序的方法:

  1. 在Xcode中创建一个新的基于导航的iPhone项目

  2. 将AddressBook和AddressBookUI框架添加到项目

  3. 将以下行添加到RootViewController.m的顶部:

    #import <AddressBookUI/ABUnknownPersonViewController.h>

  4. 将以下内容添加到RootViewController.m中的viewDidLoad

    [super viewDidLoad];

    ABRecordRef personRef = ABPersonCreate();
    ABUnknownPersonViewController* abNew = [[ABUnknownPersonViewController alloc] init];

    CFErrorRef err = nil; // Should be released if set? ABRecordSetValue(personRef, kABPersonFirstNameProperty, [NSString stringWithString:@"First"], &err) && ABRecordSetValue(personRef, kABPersonLastNameProperty, [NSString stringWithString:@"Last"], &err);

    abNew.displayedPerson = personRef;
    abNew.allowsActions = NO;
    abNew.allowsAddingToAddressBook = YES;
    [self.navigationController pushViewController:abNew animated:YES];

    [abNew release];
    CFRelease(personRef);

1 个答案:

答案 0 :(得分:0)

我能够让iPad进行测试并验证这只发生在模拟器中。我打开了错误8596499