0

そのため、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 sim のみで発生します。

  • 対象機種:iPhone
  • ベース SDK: iOS デバイス 3.2
  • Xcode 3.2.4

テストするサンプル プログラムを作成する方法は次のとおりです。

  1. Xcode で新しいナビゲーション ベースの iPhone プロジェクトを作成する

  2. AddressBook および AddressBookUI フレームワークをプロジェクトに追加します。

  3. 次の行を RootViewController.m の先頭に追加します。

    #import <AddressBookUI/ABUnknownPersonViewController.h>

  4. viewDidLoadRootViewController.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);

4

1 に答える 1

0

iPad をテストすることができ、これがシミュレーターでのみ発生することを確認しました。バグ 8596499 を開いた

于 2010-10-26T21:14:41.627 に答える