2012-02-23 37 views
13

Trong iOS, làm thế nào tôi có thể đọc các địa chỉ email của chủ sở hữu được lưu trữ trong iPhone? Trong ứng dụng của tôi, tôi muốn cho phép người dùng chọn địa chỉ email nào anh muốn liên kết với dịch vụ tùy chỉnh. Trên Android, tôi sẽ để anh ta chọn địa chỉ Gmail của mình, nhưng trên iOS, dường như không có tùy chọn để nhận email apple id, đúng không? Vì vậy, có khả năng để lấy tất cả các địa chỉ email được lưu trữ và cho phép người dùng chọn một trong số họ? Tôi thực sự cần một địa chỉ email. Một id duy nhất, id thiết bị hoặc tương tự sẽ không hoạt động với những gì tôi muốn đạt được.iOS: Cách nhận địa chỉ email của chủ sở hữu?

Cảm ơn

Trả lời

9

Tại sao không hiển thị sổ địa chỉ và cho phép người dùng chọn và địa chỉ email?

Thêm khung AddressBook và AddressBookUI vào dự án của bạn. Nhập chúng vào .h và thêm giao thức ABPeoplePickerNavigationControllerDelegate.

Sau đó gọi cuốn sách địa chỉ:

- (void) chooseContact:(id)sender { 
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
    picker.peoplePickerDelegate = self; 
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

Bạn thực hiện một số phương pháp yêu cầu đại biểu để có được một địa chỉ email và bỏ qua những Address Book:

// call when the user cancel 
- (void) peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

Hãy để cho người dùng nhập vào thông tin chi tiết xin liên hệ:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person { 
    return YES; 
} 

Sau đó, hãy thực hiện những gì bạn đã chọn với địa chỉ email:

- (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; 
} 
1

Theo hướng dẫn của Apple, bạn sẽ phải hỏi người dùng. Ngoài ra táo không phải là rất quan tâm về việc làm cho thông tin cá nhân, như email, bắt buộc.

Bạn có thể lặp qua sổ địa chỉ và tìm thẻ chủ sở hữu trong liên hệ, nhưng lưu ý rằng Apple sẽ thông báo cho người dùng trong bản iOS sắp tới rằng ứng dụng đang truy cập sổ địa chỉ, vì vậy người dùng có thể không cho phép ứng dụng của bạn truy cập sổ địa chỉ.

1

Không, bạn không thể nhận danh sách email, ứng dụng thư mặc định mà chúng tôi sử dụng để gửi email thông qua ứng dụng của chúng tôi chỉ cho phép bạn kiểm tra xem người dùng có thể gửi email hay không. được định cấu hình hay không

Các vấn đề liên quan