Wymagania: Zapisuję niektóre kontakty w telefonie iPhone użytkownika wraz z obrazem (wymiary takie same jak w urządzeniu). Chcę, aby to zdjęcie było wyświetlane w trybie FULLSCREEN, gdy kontakt wywoła to urządzenie.Zapisywanie obrazu jako Zdjęcie kontaktu i wyświetlanie go podczas połączenia przychodzącego
Noticed Przykład:Truecaller iOS aplikacja pokazuje jak czerwony obraz, gdy rozmówca jest zidentyfikowane jako spam
Kod: Jest to kod użyłem, aby zapisać dane kontaktów. Używam 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);
}
Obecny scenariusz: otrzymuję ten obraz w iOS Contacts App
ale nie jest wyświetlany, gdy użytkownik, który wzywa iPhone. Jak działa Truecaller? Czego tu mi brakuje?
Jeden z moich aplikacji i zrobił to samo w SWIFT: niech kontaktów = CNMutableContact() let image: UIImage = UIImage (imageLiteral: "cat.png") razie niech imageData: NSData = UIImagePNGRepresentation (image) { kontakt .imageData = imageData // Obraz profilowy jako obiekt NSData } –
@SaRaVaNaNDM: Zrobiłem to samo w ObjC. Czy uzyskałeś pożądany wynik (obraz na pełnym ekranie)? – Nishant
Tak, dostaję. Chyba jego problem z systemem iOS, czasami nie wyświetla obrazu. –