// // RAContact.m // APEX CRM // // Created by Jack on 2018/12/15. // Copyright © 2018 USAI. All rights reserved. // #import "RAContactHelper.h" #import #import static RAContactHelper *sharedInstance; @interface RAContactHelper () @property (nonatomic,copy) void(^pickerCompleteBlk)(BOOL canceled, NSArray *contacts); @end @implementation RAContactHelper + (instancetype)defaultHelper { static dispatch_once_t token; dispatch_once(&token, ^{ sharedInstance = [RAContactHelper new]; }); return sharedInstance; } - (void)showContactPickerByViewController:(UIViewController *)viewController withComplete:(void(^)(BOOL canceled, NSArray *contacts))complete { if (viewController) { CNContactPickerViewController *pickerVC = [[CNContactPickerViewController alloc] init]; pickerVC.delegate = self; [viewController presentViewController:pickerVC animated:YES completion:^{ }]; self.pickerCompleteBlk = [complete copy]; } } #pragma mark - Contact - (void)contactPickerDidCancel:(CNContactPickerViewController *)picker { if (self.pickerCompleteBlk) { self.pickerCompleteBlk(YES, nil); } self.pickerCompleteBlk = nil; } // 四个select代理方法只用实现一个就可以 // select contact 优先级比 select contact property高 // 多选 优先级 比单选 高 - (void)contactPicker:(CNContactPickerViewController *)picker didSelectContacts:(NSArray *)contacts { if (self.pickerCompleteBlk) { self.pickerCompleteBlk(NO, contacts); } self.pickerCompleteBlk = nil; } //- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperties:(NSArray *)contactProperties { // //} // //- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact { // //} // //- (void)contactPicker:(CNContactPickerViewController *)picker didSelectContactProperty:(CNContactProperty *)contactProperty { // //} @end