Я представляю пользователю ABPeoplePickerNavigationController и прошу их выбрать контакт. Когда они выбирают пользователя, я хочу, чтобы они были отправлены либо в приложение «Сообщения», либо в приложение «Электронная почта» в зависимости от того, какое свойство они выбрали. Однако я не могу понять, как настроить действие, которое происходит после отклонения модального выбора.Пользовательские действия после ABPeoplePickerNavigationController отклоняется
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
if(property == kABPersonPhoneProperty){
[self dismissModalViewControllerAnimated:YES];
NSString* phoneNumber = (NSString *)ABRecordCopyValue(person, property);
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"sms:%@", phoneNumber]];
[[UIApplication sharedApplication] openURL:url];
[phoneNumber release];
return NO;
}
if(property == kABPersonEmailProperty){
[self dismissModalViewControllerAnimated:YES];
NSString* emailAddress = (NSString *)ABRecordCopyValue(person, property);
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"mailto:%@", emailAddress]];
[[UIApplication sharedApplication] openURL:url];
[emailAddress release];
return NO;
}
return YES;
}
Итак, как это сделать? Спасибо!
Я знаю, что мое приложение будет терять контроль. Я пытаюсь перехватить выбор свойства, чтобы настроить электронную почту, которая открывается. Я могу задать предмет/тело для пользователя в качестве удобства.Кроме того, если они выбирают номер телефона, я хочу, чтобы приложение SMS отображалось, а не приложение «Телефон». Таким образом, мне нужно перехватить его, а затем вызвать соответствующий openURL. – Georges