0

連絡先の名前が NSString からのものであるアプリから iOS アドレス帳に連絡先を自動的に追加しようとしています。私はそれを理解しようとしましたが(下のコードを参照)、うまくいきませんでした。私が提供した最初のコード(保存コードなどがあります)で連絡先を追加するのに機能しますが、できない名前だけでなく、異なる可能性のある文字列から連絡先を追加したいと思います。

ABRecordRef newPerson = ABPersonCreate();
ABRecordSetValue(newPerson, kABPersonFirstNameProperty,@"Davis11", &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"Scott", &error);

私もこのコードを試しましたが、うまくいきませんでした:

ABRecordRef newPerson = ABPersonCreate();
ABRecordSetValue(newPerson, kABPersonFirstNameProperty,fName, &error);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, lName, &error);
4

1 に答える 1

1

あなたがしていることは問題ありませんが、 と を呼び出すABAddressBookAddRecordのを忘れていますABAddressBookSave。そうしない限り、何も起こりません。あなたが持っているのは、ゆったりと浮かんでいる人です。アドレス帳の一部にしたい場合は、その人をアドレス帳に追加する必要あります。

また、メモリ管理を忘れずに行ってください。以下に完全な例を示します (ただし、エラー チェックは例から省略されています! 実際には行わないでください)。

CFErrorRef err = nil;
ABAddressBookRef adbk = ABAddressBookCreateWithOptions(nil, &err);
ABRecordRef snidely = ABPersonCreate();
ABRecordSetValue(snidely, kABPersonFirstNameProperty, @"Snidely", nil);
ABRecordSetValue(snidely, kABPersonLastNameProperty, @"Whiplash", nil);
ABAddressBookAddRecord(adbk, snidely, nil);
ABAddressBookSave(adbk, nil);
if (snidely) CFRelease(snidely);
if (adbk) CFRelease(adbk);
于 2014-03-11T17:50:44.040 に答える