[Objective-C]ABAddressBookRequestAccessWithCompletionが働かない
Posted: 2014年7月18日(金) 10:55
by matunon
► スポイラーを表示
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) {
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRef book;
ABAddressBookRequestAccessWithCompletion(book, ^(bool granted, CFErrorRef error) {
if(granted){
NSLog(@"0");
// ユーザーがアドレス帳へのアクセスを許可した場合
if ([app startFlg] == 0) {
[self fileSerch];
}
}
else{
NSLog(@"1");
}
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusDenied) { //ここに飛ぶ
ABAddressBookRef book;
ABAddressBookRequestAccessWithCompletion(book, ^(bool granted, CFErrorRef error) { //動作しない
if(granted){
NSLog(@"00");
// ユーザーがアドレス帳へのアクセスを許可した場合
if ([app startFlg] == 0) {
[self fileSerch];
}
}
else{ //いきなりここにとぶ
NSLog(@"11");
}
});
}
else if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusAuthorized) {
// ユーザーがアドレス帳へのアクセスを以前に許可した場合
NSLog(@"000");
if ([app startFlg] == 0) {
[self fileSerch];
}
}
else{
NSLog(@"111");
[self CLOSE];
}
}
else {
if ([app startFlg] == 0) {
[self fileSerch];
}
}
現状でここまでソースはかけたのですが、一度もアクセス許可のダイアログに触れた事がないのに、ダイアログが出ません。
コメントの位置に毎回飛びます。
どうすれば良いのでしょうか?
原因を教えてください、お願いします