iOS 6부터는 앱이 허가없이 사용자의 주소록에 액세스 할 수 없습니다. 우리가 실행할 때 -> Rho :: RhoContact.create! , RhoMobile 앱은 사용자가 아직 부여하지 않은 권한을 주소록에 액세스하려고 시도합니다. 또한 앱은 자체적으로 권한을 요청하지 않습니다. 앱 내에서 권한 요청을 강제로 실행해야합니다. 다음과 같이
이 작업을 수행 할 수 있습니다 -
이동 로즈-3.4.3에 (내 로즈 버전은 3.4.2) -> 플랫폼 -> 아이폰 -> 클래스 -> 전화 번호부 -> Phonebook.m
텍스트 편집기 나 xCode에서 열 수 있습니다. 페이지 상단에서
다음을 정의 : -
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
을하는이 완료되면 발견 기능 ->
void* openPhonebook()
찾을 라인 ->
memset(phonebook, 0, sizeof(LocalPhonebook));
을 이 줄 아래에있는
코드는 ->
위의 코드에서
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {
CFErrorRef myError = NULL;
phonebook->_ab = ABAddressBookCreateWithOptions(NULL, &myError);
ABAddressBookRequestAccessWithCompletion(phonebook->_ab, ^(bool granted, CFErrorRef error) {
if (granted) {
phonebook->_people = NULL;
phonebook->_len = 0;
} else {
// Handle the error
}
});
}
else{
// for iOS < 6
phonebook->_ab = ABAddressBookCreate();
if (phonebook->_ab) {
phonebook->_people = NULL;
phonebook->_len = 0;
}
}
return phonebook;
에게, 전화 번호부 -> _ AB는 ...
... 당신이 가고 잘해야 내 ABAddressBook 참조 이제
인이 유용 희망