Итак, я работаю над подготовкой своего приложения для 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
Вот как создать пример программыдля проверки:
Создание нового проекта iPhone на основе навигации в Xcode
Добавление платформ AddressBook и AddressBookUI в проект
Добавьте следующую строку в начало RootViewController.m:
#import <AddressBookUI/ABUnknownPersonViewController.h>
Добавьте следующее к 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);