首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS:如何获取车主的电子邮件地址?

iOS:如何获取车主的电子邮件地址?
EN

Stack Overflow用户
提问于 2012-02-23 16:13:19
回答 3查看 13.7K关注 0票数 15

在iOS中,如何读取存储在iPhone中的所有者电子邮件地址?在我的应用程序中,我想让用户选择他想要与自定义服务关联的电子邮件地址。在Android上,我会让他选择自己的GMail地址,但在iOS上,似乎没有办法获取苹果id的电子邮件地址,对吧?那么,有没有可能检索所有存储的电子邮件地址,并让用户选择其中之一?我真的需要一个电子邮件地址。一个唯一的id,设备id或类似的东西将不会与我想要实现的东西一起工作。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-23 16:55:21

为什么不提供地址簿,让用户选择和电子邮件地址?

将AddressBook和AddressBookUI框架添加到项目中。将它们导入到您的.h中并添加协议ABPeoplePickerNavigationControllerDelegate。

然后给地址簿打电话:

代码语言:javascript
复制
- (void) chooseContact:(id)sender {
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}

您可以实现几个必需的委托方法来获取电子邮件地址并关闭地址簿:

代码语言:javascript
复制
// call when the user cancel
 - (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
    [self dismissModalViewControllerAnimated:YES];
}

让用户输入联系人详细信息:

代码语言:javascript
复制
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
    return YES;
}

然后对选定的电子邮件地址执行以下操作:

代码语言:javascript
复制
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
    if (property == kABPersonEmailProperty) {
         //assumed you have a property email in your class
         self.email = (NSString *)ABRecordCopyValue(person, kABPersonEmailProperty);
         [self dismissModalViewControllerAnimated:YES];
    }
    return NO;
}
票数 10
EN

Stack Overflow用户

发布于 2012-02-23 16:39:31

根据苹果公司的指导方针,你必须询问用户。此外,苹果也不太热衷于强制提供电子邮件等私人信息。

您可以遍历地址簿并在联系人中查找所有者标签,但请注意,在即将发布的iOS版本中,苹果将通知用户一个应用程序正在访问地址簿,因此用户可能不允许您的应用程序访问地址簿。

票数 1
EN

Stack Overflow用户

发布于 2012-02-23 16:50:33

不,你不能得到邮件列表,我们用来通过我们的应用程序发送邮件的默认邮件应用程序只能让你检查用户是否可以发送电子邮件,这是它的检查是否已经配置了至少一个邮件帐户

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9409275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档