アプリにアドレス帳フレームワークを実装し、新しい連絡先を作成して情報を設定し、後で表示しています。しかし、実際にビューを表示しているときに、それぞれのボタンをタップしても電話アプリやメール アプリを開くことができません。情報を作成して保存する方法は次のとおりです。
ABRecordRef record = ABPersonCreate();
ABMutableMultiValueRef phoneMulti = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABDictionaryPropertyType);
ABMutableMultiValueRef emailMultiValue = ABMultiValueCreateMutable(kABPersonEmailProperty);
ABMultiValueAddValueAndLabel(emailMultiValue, @"someone_somewhere@abc.com", (CFStringRef)@"email", NULL);
CFStringRef keys[5];
CFStringRef values[5];
keys[0] = kABPersonAddressStreetKey;
keys[1] = kABPersonAddressCityKey;
keys[2] = kABPersonAddressStateKey;
keys[3] = kABPersonAddressZIPKey;
keys[4] = kABPersonAddressCountryKey;
values[0] = CFSTR("ABC way");
values[1] = CFSTR("Toronto");
values[2] = CFSTR("ON");
values[3] = CFSTR("L1A2B3");
values[4] = CFSTR("Canada"); //This is static
CFDictionaryRef aDict = CFDictionaryCreate(
kCFAllocatorDefault,
(void *)keys,
(void *)values,
5,
&kCFCopyStringDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks
);
ABMultiValueAddValueAndLabel(address, aDict, kABHomeLabel, NULL);
CFRelease(aDict);
// Set up Phone Number
ABMultiValueAddValueAndLabel(phoneMulti, @"12345678910", kABWorkLabel, NULL);
ABRecordSetValue(record, kABPersonFirstNameProperty, firstName, NULL);
ABRecordSetValue(record, kABPersonLastNameProperty, lastName, NULL);
ABRecordSetValue(record, kABPersonNoteProperty, (CFStringRef)@" ", NULL);
ABRecordSetValue(record, kABPersonAddressProperty, address, NULL);
ABRecordSetValue(record, kABPersonEmailProperty, emailMultiValue, NULL);
ABRecordSetValue(record, kABPersonPhoneProperty, phoneMulti, nil);
を使用してUnknownPersonViewController、別のビューでレコードにアクセスしています。
ABUnknownPersonViewController *contactDetailsView = [[ABUnknownPersonViewController alloc]init];
contactDetailsView.allowsActions = YES;
contactDetailsView.displayedPerson = record;
[[self navigationController] pushViewController:contactDetailsView animated:YES];
にいるとき、何もできない (電話をかける、電子メールを送信する、メモを書く) ことができないのはなぜcontactDetailsViewですか? どうすれば修正できますか?iOS5を使用しています。