2016-05-31 3 views

ответ

0

Если вы хотите, чтобы показать пользователю специальное сообщение, когда просят разрешения использовать свои контакты или адресной книги, а не по умолчанию один показанный выше, вам нужно добавить это поле в вашем файле Info.plist:

NSContactsUsageDescription 

Вот ссылка для разработчиков Apple за то же самое: https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW14

+0

Есть ли система Сгенерировано сообщение для доступа к адресной книге? На самом деле я добавил «NSContactUsageDescription» в Plist.But Как я могу вызовите этот метод в моем приложении –

+0

@DivakarReddy Нет никакого метода для него, но как только вы создадите объект Addressbook для извлечения контактов, он запросит разрешение. –

+0

Я добавил «NSContactsUsageDescription» в Plist.But Как можно вызвать этот метод В моем приложении. Какую ссылку на класс можно использовать для вызова этого метода. Предположим, если мы используем MapKit.we нужно использовать «WhenInUseAuthorizationMethod» –

0
// Check the authorization status of your application for Address Book 
-(void)checkAddressBookAccess 
{ 
    switch (ABAddressBookGetAuthorizationStatus()) 
    { 
      // Update our UI if the user has granted access to their Contacts 
     case kABAuthorizationStatusAuthorized: 
      [self showAddressBook]; 
      break; 
      // Prompt the user for access to Contacts if there is no definitive answer 
     case kABAuthorizationStatusNotDetermined : 
      [self requestAddressBookAccess]; 
      break; 
      // Display a message if the user has denied or restricted access to Contacts 
     case kABAuthorizationStatusDenied: 
     case kABAuthorizationStatusRestricted: 
     { 
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Warning" 
                  message:@"You have not granted access to your contacts or you have revoked it earlier." 
                  delegate:nil 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:nil]; 
      [alert show]; 
     } 
      break; 
     default: 
      break; 
    } 
} 

// Prompt the user for access to their Address Book data 
-(void)requestAddressBookAccess 
{ 
    TF_Message_View_Controller * __weak weakSelf = self; 

    ABAddressBookRequestAccessWithCompletion(self.addressBook, ^(bool granted, CFErrorRef error) 
              { 
               if (granted) 
               { 
                dispatch_async(dispatch_get_main_queue(), ^{ 
                 [weakSelf showAddressBook]; 

                }); 
               } 
              }); 
} 
+0

В моем приложении они использовали как Контакты, так и адресную книгу. Как я могу показать права доступа пользователей для контактов. Можете ли вы написать код для доступа к разрешению с. Это очень срочно. меня? –

0

Если вы хотите, чтобы показать уведомление с просьбой о разрешении, вы можете использовать следующий код

Этого код работает с контактами структурой, которая доступна только для прошивки 9.0+

- (void)checkContactStoreAccess { 
    self.contactsStrore = [[CNContactStore alloc] init]; 

    switch ([CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts]) { 
     case CNAuthorizationStatusAuthorized: { 
      [self fetchContactsFromContactStore]; 
      break; 
     } 
     case CNAuthorizationStatusNotDetermined:{ 
      [self requestContactsAccess]; 
      break; 
     } 
     case CNAuthorizationStatusDenied: 
     case CNAuthorizationStatusRestricted:{ 
      //show info that access denied for contact and redirect user to settings with 
      [UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 
     } 
    } 
} 
- (void)requestContactsAccess { 
    typeof(self) __weak weakSelf = self; 
    [self.contactsStrore requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) { 
     [weakSelf fetchContactsFromContactStore]; 
    }]; 
} 
+0

В моем приложении они использовали как Контакты, так и адресную книгу. Как я могу показать разрешение доступа для пользователей для контактов. Можете ли вы написать код для доступа к разрешению с. Это очень срочно для меня? –

+0

У нас есть какой-либо код, касающийся, пожалуйста, отправьте сюда. Это было бы более полезно для меня? –

+0

что я должен писать в fetchContactsFromContactStore метод –

Смежные вопросы