2016-07-05 9 views
8

Anforderung: Ich speichere einige Kontakte in das iPhone des Benutzers zusammen mit einem Bild (Abmessungen wie das Gerät). Ich möchte, dass dieses Bild auf FULLSCREEN angezeigt wird, wenn der Kontakt dieses Gerät anruft.Speichern eines Bildes als Kontaktbild und Anzeigen während eines eingehenden Anrufs

Bemerkt Beispiel:Truecaller iOS App zeigt, wie Red Bild, wenn der Anrufer als Spam

Code identifiziert wird: Dieser Code ist ich verwendet habe, um die Kontakte Daten zu speichern. Ich bin mit Contacts.framework

CNMutableContact *newContact = [CNMutableContact new]; 

newContact.imageData = UIImagePNGRepresentation([UIImage imageNamed:@"blue_bg.png"]); 

newContact.contactType = CNContactTypePerson; 
newContact.givenName = user.firstName; 
newContact.middleName = user.middleName; 
newContact.familyName = user.lastName; 

NSArray *numbers = [[NSArray alloc] initWithArray:@[[CNLabeledValue labeledValueWithLabel:@"Main" value:[CNPhoneNumber phoneNumberWithStringValue:user.mobileNumber.stringValue]]]]; 

newContact.phoneNumbers = numbers; 

CNContactStore *store = [CNContactStore new]; 
CNSaveRequest *saveReq = [CNSaveRequest new]; 

[saveReq addContact:newContact toContainerWithIdentifier:nil]; 

NSError *error = nil; 
[store executeSaveRequest:saveReq error:&error]; 

if (error) { 
    NSLog(@"Contact Save ERROR: %@", error.localizedDescription); 
} 

Aktuelle Szenario: Ich erhalte dieses Bild in der iOS Contacts App aber es ist nicht angezeigt, wenn der Benutzer auf dem iPhone aufruft. Wie macht Truecaller das? Was fehlt mir hier?

+0

Einer meiner app habe ich das gleiche in swift: Lassen Sie Kontakt = CNMutableContact() let Bild: UIImage = UIImage (imageLiteral: "cat.png") wenn lassen imagedata: NSData = UIImagePNGRepresentation (Bild) { Kontakt .imageData = imageData // Das Profilbild als NSData-Objekt } –

+0

@SaRaVaNaNDM: Ich habe das gleiche in ObjC gemacht. Haben Sie das gewünschte Ergebnis erhalten (Vollbild-Anruferbild)? – Nishant

+0

Ja, ich bekomme. Ich schätze sein iOS-Problem, manchmal wird es das Bild nicht zeigen. –

Antwort

0

Wenn das Bild in der Kontakte-App angezeigt wird, sollte es angezeigt werden, wenn Sie von dieser Person angerufen werden.

+0

Es sollte passieren, aber es ist nicht. Bei eingehenden Anrufen werden nur die Initialen des Kontaktnamens angezeigt. Nicht sicher, wo ich mit dieser einfachen Sache falsch liege. Hast du Code, der funktioniert? – Nishant

+0

Von einer anderen Website: "Es hängt davon ab, wo Sie das Bild ausgewählt haben: nur Bilder aus der Kamerarolle werden im Vollbildmodus angezeigt." Sie müssen wahrscheinlich etwas in Ihrem Code ändern, damit es funktioniert. –

+0

Ich habe darüber schon einmal gelesen, werde versuchen, dies zu umgehen. Aber wie macht es die Truecaller App? – Nishant