在iPhone中添加新联系人时会出现FaceTime消息

时间:2011-04-15 08:31:39

标签: iphone add contact facetime

我尝试使用ABNewPersonViewController在iPhone中添加一个新人,但在iPhone 4上,有时会显示一条FaceTime消息,说“您的运营商可能会对用于激活视频通话的短信收费”(请参阅​​屏幕截图,它是法语版) 。我根本不做与FaceTime有关的任何事情。我怀疑这是iOS本身的一个错误。以前有人见过这个,以及避免这个消息的解决方法吗?

enter image description here

我用来调用ABNewPersonViewController的代码:

- (IBAction)addContactButtonDidClick
{
    ABNewPersonViewController *newPersonController = [[ABNewPersonViewController alloc] init];
    newPersonController.newPersonViewDelegate = self;

    // Prefill person
    ABRecordRef newPerson = ABPersonCreate();

ABRecordSetValue(newPerson, kABPersonFirstNameProperty, person_.firstName, nil);
ABRecordSetValue(newPerson, kABPersonLastNameProperty, person_.lastName, nil);
ABRecordSetValue(newPerson, kABPersonNoteProperty, person_.note, nil);
ABRecordSetValue(newPerson, kABPersonJobTitleProperty, person_.speciality, nil);

    // Prefill phone
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
if (0 < [person_.telephone length])
    ABMultiValueAddValueAndLabel(multiPhone, person_.telephone, kABWorkLabel, NULL);
if (0 < [person_.mobile length])
    ABMultiValueAddValueAndLabel(multiPhone, person_.mobile, kABPersonPhoneMobileLabel, NULL);            
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,nil);
CFRelease(multiPhone);

// Prefill email
ABMutableMultiValueRef multiEmail = ABMultiValueCreateMutable(kABMultiStringPropertyType);
if (0 < [person_.email length])
    ABMultiValueAddValueAndLabel(multiEmail, person_.email, kABWorkLabel, NULL);
ABRecordSetValue(newPerson, kABPersonEmailProperty, multiEmail, nil);
CFRelease(multiEmail);

// Prefill address
ABMutableMultiValueRef multiAddress = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];

if (0 < [person_.address length])
    [addressDictionary setObject:person_.address forKey:(NSString*)kABPersonAddressStreetKey];
if (0 < [person_.city length])
    [addressDictionary setObject:person_.city forKey:(NSString*)kABPersonAddressCityKey];
if (0 < [person_.postalCode length])
    [addressDictionary setObject:person_.postalCode forKey:(NSString*)kABPersonAddressZIPKey];
ABMultiValueAddValueAndLabel(multiAddress, addressDictionary, kABWorkLabel, NULL);
ABRecordSetValue(newPerson, kABPersonAddressProperty, multiAddress, nil);
CFRelease(multiAddress);

newPersonController.displayedPerson = newPerson;

// Show contact view in a modal view
UINavigationController *personNavController = [[UINavigationController alloc] initWithRootViewController:newPersonController];
personNavController.navigationBar.tintColor = UIColorFromRGB(0xec7930);
[self presentModalViewController:personNavController animated:YES]; 
[personNavController release];
[newPersonController release];
CFRelease(newPerson);
}

0 个答案:

没有答案