Ich versuche, um jedes Kontaktfoto einen Rahmen hinzuzufügen. Ich habe Code arbeiten, um dieses grenzte Bild zu schaffen und Arbeitscode es als Kontakt Bild zu setzen:ABPersonSetImageData Nur Ändern des Kontakt-Thumbnails und nicht des vollständigen Pic
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);
}
Das Problem, das ich gesehen habe ist, dass während der umrandete Bild korrekt im Miniaturbild angezeigt, wenn in den Kontakten angezeigt oder Telefon-App, das Vollbild, das bei einem eingehenden Anruf angezeigt wird, nicht.
Ich dachte ursprünglich, es wurde nur ein wenig gezoomt, also experimentierte ich mit der Randgröße. Ich habe bestätigt, dass die Grenze auf dem großen Schuss überhaupt nicht zeigt. Fehle ich etwas Offensichtliches?
EDIT 10/9/09 Ich habe in der Kommunikation mit Apple und dies ist in der Tat ein Fehler im Adressbuch-Framework. Wenn Sie diesen Beitrag lesen, dann schlage ich Ihnen file a bug with Apple vor, um die Reparatur zu beschleunigen.
Ich folgte diesem und ich könnte das Bild ersetzen, aber es zeigt immer noch das Miniaturbild, wenn ein Anruf kommt ... Ich habe versucht, das Bild manuell löschen und ersetzen Sie es durch den Code. Aber keine Verwendung. Ich frage mich, ob das funktioniert? danke –