IOS通訊錄開發 授權應用訪問通訊錄

最近做了個項目要求  訪問用戶的通訊錄並且針對通訊錄裏的數據進行篩選,基於現有的IM用戶體系,進行邀請添加聊天。


首先用戶通訊錄信息 作爲重要的隱私,訪問通訊錄 在IOS6 以上版本 是必須經過用戶同意,纔可以訪問。

ABAddressBookRef addressBook =NULL;
    
    if([[UIDevice currentDevice].systemVersion floatValue] >= 6.0){
        
        CFErrorRef error = NULL;
        
        addressBook =ABAddressBookCreateWithOptions(NULL, &error);
        
        ABAuthorizationStatus authorizationStatus =ABAddressBookGetAuthorizationStatus();
        
        
        
        //        dispatch_semaphore_t sema = dispatch_semaphore_create(0);
        
        if(authorizationStatus ==kABAuthorizationStatusNotDetermined){
            
            ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted,CFErrorRef error) {
                
                if(granted)
                    
                    
                    
                    NSLog(@"授權");
                
                else
                    
                    NSLog(@"拒絕");
                
                //                dispatch_semaphore_signal(sema);
                
            });
            
            //            dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
            
        }
        
    }
    
    else
        
    {
        
        addressBook =ABAddressBookCreate();
        
    }

- (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions


如果以上代碼放在AppDelegate裏,程序在第一次啓動的時候會進行提示 “是否允許訪問通訊錄功能


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章