Appleのクラスを使用して、Reachability
データまたは Wi-Fi が利用可能かどうかを判断しています。ただし、ユーザー (米国の iPhone を使用) が別の国でアプリをテストしていて、MapKit にアクセスしようとすると次のエラーが表示されます。
コンソール
このエラーに関する私の調査では、それPBRequester
がProtocolBufferであることがわかりました。
2012-10-15 21:16:00.921 WrightsCS App[24239:907] PBRequester がエラー エラー Domain=kCFErrorDomainCFNetwork Code=-1018 "International roaming is currently off." で失敗しました。UserInfo=0x1e5587d0 {NSErrorFailingURLKey=https://gsp13-cn.ls.apple.com/shift, NSErrorFailingURLStringKey=https://gsp13-cn.ls.apple.com/shift, NSLocalizedDescription=国際ローミングは現在オフです。}
例
-(BOOL)hasDataConnection
{
Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
if ( networkStatus == NotReachable )
{
return NO;
}
else
{
if ( ! [Reachability reachabilityWithHostName:@"www.google.com"] )
return NO;
return YES;
}
}
質問
ユーザーがローミングしているかどうかを検出する方法、またはユーザーがローミングしている場合に少なくともこのエラーが発生しないことを確認するにはどうすればよいでしょうか?