Я пытаюсь добавить рамку вокруг каждой фотографии контакта. У меня есть рабочий код для создания этого граничного изображения и рабочий код для его установки в качестве изображения контакта:
if (image) {
NSData *dataRef = UIImagePNGRepresentation(image);
CFDataRef cfdata = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
CFErrorRef error;
ret = ABPersonSetImageData(person, cfdata, &error);
if (ret) {
ret = ABAddressBookSave(addressBook, &error);
} else {
DebugLog(@"Could not write the image to the person: %@", [error description]);
}
CFRelease(cfdata);
}
Проблема, с которой я сталкиваюсь, заключается в том, что хотя при просмотре в приложении «Контакты» или «Телефон» изображение с рамкой правильно отображается на миниатюре, полноэкранное изображение, отображаемое при входящем вызове, не отображается.
Изначально я думал, что это немного увеличено, поэтому я экспериментировал с размером границы. Я подтвердил, что на большом снимке граница вообще не отображается. Я что-то упускаю из виду?
РЕДАКТИРОВАТЬ 10/9/09
Я общался с Apple, и это действительно ошибка в структуре адресной книги. Если вы читаете этот пост, я предлагаю вам
сообщить об ошибке в Apple at, чтобы ускорить исправление.