Утверждение и исключение на симуляторе iPad, но не на симуляторе iPhone или устройстве! - PullRequest
0 голосов
/ 21 октября 2010

Итак, я работаю над подготовкой своего приложения для 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
  • Базовый SDK: устройство iOS 3.2
  • Xcode 3.2.4

Вот как создать пример программыдля проверки:

  1. Создание нового проекта iPhone на основе навигации в Xcode

  2. Добавление платформ AddressBook и AddressBookUI в проект

  3. Добавьте следующую строку в начало RootViewController.m:

    #import <AddressBookUI/ABUnknownPersonViewController.h>

  4. Добавьте следующее к viewDidLoad в RootViewController.m:

    [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 голосов
/ 27 октября 2010

Мне удалось получить iPad для тестирования и убедиться, что это происходит только в симуляторе.Я открыл ошибку 8596499

...