0

新しい CNContact を作成している間 (viewControllerForNewContact メソッドを利用して)、限られた数のキーのみを表示したいと思います。ただし、フェッチするキーのさまざまな値を試してみましたが、設定可能な値の全宇宙を取得し続けています。新しい連絡先に表示されるキーを制限するにはどうすればよいですか?

これは、既存の連絡先には問題なく機能しているようですが、新しい連絡先にはうまくいきません...

以下はこれまでの私のコードです...

    CNMutableContact *newContact = [[CNMutableContact alloc] init];

    // NSArray *keysToFetch = @[CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactEmailAddressesKey, CNContactImageDataKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName], [CNContactViewController descriptorForRequiredKeys]];
    // NSArray *keysToFetch = @[[CNContactViewController descriptorForRequiredKeys]];
    // NSArray *keysToFetch = @[CNContactGivenNameKey, [CNContactViewController descriptorForRequiredKeys]];
    // NSArray *keysToFetch = @[CNContactIdentifierKey, CNContactEmailAddressesKey, CNContactBirthdayKey, CNContactImageDataKey, CNContactPhoneNumbersKey, [CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName],[CNContactViewController descriptorForRequiredKeys]];
    // NSArray *keysToFetch = @[[CNContactFormatter descriptorForRequiredKeysForStyle:CNContactFormatterStyleFullName], CNContactEmailAddressesKey];
    NSArray *keysToFetch = @[CNContactGivenNameKey, CNContactPhoneNumbersKey];

    CNContactViewController *newContactViewController = [CNContactViewController viewControllerForNewContact:newContact];

    newContactViewController.delegate = self;
    newContactViewController.allowsActions = YES;
    newContactViewController.allowsEditing = YES;
    newContactViewController.displayedPropertyKeys = keysToFetch;

    UINavigationController *newContactNavViewController = [[UINavigationController alloc] initWithRootViewController:newContactViewController];
    newContactNavViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentViewController:newContactNavViewController animated:YES completion:nil];
4

1 に答える 1