0

ユーザーが私のアプリから自分のアドレス帳/連絡先に連絡先の詳細を保存できるようにしようとしています。

IBActionの下:

ABAddressBookRef addressBook = ABAddressBookCreate();
ABRecordRef person = ABPersonCreate(); 


CFErrorRef  anError = NULL;

ABRecordSetValue(person,kABPersonFirstNameProperty,@"Name goes here",&anError);
ABRecordSetValue(person, kABPersonOrganizationProperty, @"Company name here", &anError);
ABRecordSetValue(person, kABPersonJobTitleProperty, @"Job Title Here", &anError);

ABMutableMultiValueRef multiAddress =   ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];

[addressDictionary setObject:@"Chicago" forKey:(NSString *)kABPersonAddressCityKey];
[addressDictionary setObject:@"IL" forKey:(NSString *)kABPersonAddressStateKey];
[addressDictionary setObject:@"60654" forKey:(NSString *)kABPersonAddressZIPKey];

ABMultiValueAddValueAndLabel(multiAddress, @"Adress", (CFStringRef)@"Address", NULL);
ABRecordSetValue(person, kABPersonAddressProperty, multiAddress,&anError);
CFRelease(multiAddress);

ABMutableMultiValueRef websiteMultiValue = ABMultiValueCreateMutable(kABPersonURLProperty);
ABMultiValueAddValueAndLabel(websiteMultiValue, @"www.7app.co.uk", (CFStringRef)@"Website", NULL);
ABRecordSetValue(person, kABPersonURLProperty, websiteMultiValue, &anError);


ABMutableMultiValueRef emailMultiValue = ABMultiValueCreateMutable(kABPersonEmailProperty);
ABMultiValueAddValueAndLabel(emailMultiValue, @"something@hotmail.com", (CFStringRef)@"Email", NULL);
ABRecordSetValue(person, kABPersonEmailProperty, emailMultiValue, &anError);

ABAddressBookAddRecord(addressBook, person, &anError);





}

インポートしました

#import <AddressBook/AddressBook.h>

#import <AddressBookUI/AddressBookUI>.h

ボタンを押してもまったく反応がありません。何も起こりません。言うまでもなく、これは、明白なエラーが発生した場合にアドレス帳フレームワークを使用する最初の試みです。

また、連絡先の写真を次のように保存したかった

 NSData *dataRef = UIImagePNGRepresentation(my image here);
ABPersonSetImageData(person, (__bridge_retained CFDataRef)dataRef, nil);

しかし、例外がスローされ、通常の方法で画像を削除しました。これがこの方法に適しているかどうかわかりませんか?エラーメッセージim取得:

 2012-07-17 19:01:50.132 543[966:707] -[UIImageView CGImage]: unrecognized selector sent     to instance 0x15b9b0
 2012-07-17 19:01:50.133 543[966:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImageView CGImage]: unrecognized selector sent to instance 0x15b9b0'

通常、接続の問題が原因で例外がスローされた場合、再確認しましたが、UIイメージに重複する接続などはありません。

いつものようにアドバイス

4

2 に答える 2

1

ABAddressBookSave()

http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABAddressBookRef_iPhoneOS/Reference/reference.html

画像の問題については、 UIImage インスタンスではなく UIImageView インスタンスを UIImagePNGRepresentation() に渡しているようです

于 2012-07-17T18:09:52.290 に答える
0

アクションなしの問題を解決しました。ビューを表示するコードを実装する必要がありました。

于 2012-07-17T19:28:40.540 に答える