8

要求:我将一些联系人与图片一起保存到用户的 iPhone 中(尺寸与设备相同)。每当联系人在该设备上呼叫时,我希望这张图片显示在全屏上。

注意示例:当呼叫者被 识别为垃圾邮件时, Truecaller iOS 应用程序显示为红色图像

代码:这是我用来保存联系人数据的代码。我在用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);
}

当前场景:我在 iOS 中获取此图像,Contacts App但当该用户在 iPhone 上调用时未显示。Truecaller 是如何做到的?我在这里想念什么?

4

1 回答 1

0

如果图像出现在联系人应用程序中,它应该会在您接到那个人的电话时出现。

于 2016-07-13T18:32:59.663 回答