Сообщение FaceTime появляется при добавлении нового контакта в iPhone - PullRequest
0 голосов
/ 15 апреля 2011

Я пытался добавить нового человека в iPhone с помощью ABNewPersonViewController, но на iPhone 4 иногда отображается сообщение FaceTime, в котором говорится: «Ваш оператор может взимать плату за SMS-сообщения, используемые для активации видеовызова» (см. Скриншот, он на французском языке) , Я вообще ничего не делаю с 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);
}
...