-3

私はiPhoneアプリ開発に慣れていないので、いくつか質問があります。これについて私を助けてください。

1) iPhone のすべてのアプリケーションは、ユーザーが設定で Wi-Fi ボタンまたはセルラー ボタンをオンにすると、インターネット接続が利用可能であることをどのように認識しますか?

2) Wi-Fi 接続とセルラー接続を区別するにはどうすればよいですか?

3) iPhone にも Android のコンセプトに似たブロードキャスト レシーバー メカニズムはありますか?

インターネット接続に関する多くのリンクをグーグルで検索し、iPhone の Reachibilty クラスについて知りましたが、それがどのように機能するかを明確に把握できませんでしたか? 到達可能性について詳しく説明しているリンクがあれば、それは素晴らしいことです。または上記の機能を実現するためのその他のメカニズム。

アプリケーションが利用可能な接続があることをアプリケーションが認識したときに、データのアップロードを開始する必要があるアプリケーションを作成しています。これは、アプリケーションがバックグラウンドまたはフォアグラウンドにある場合でも発生するはずです。

前もって感謝します

4

3 に答える 3

0

クラスReachabilityを使用する必要があります

 NetworkStatus netStatus = [curReach currentReachabilityStatus];

NSString* statusString= @"";
switch (netStatus)
{
    case NotReachable:
    {
        statusString = @"Access Not Available";

        //Minor interface detail- connectionRequired may return yes, even when the host is unreachable.  We cover that up here...

        break;
    }

    case ReachableViaWWAN:
    {
        statusString = @"Reachable WWAN";

        break;
    }
    case ReachableViaWiFi:
    {
         statusString= @"Reachable WiFi";

        break;
  }
}

[[Reachability reachabilityForInternetConnection] startNotifier];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(someMethod:) name:kReachabilityChangedNotification object:nil];
于 2013-07-15T05:45:44.857 に答える
0

このサンプル コードSample
https://github.com/tonymillion/Reachabilityを試してください。

また、WiFi が有効になっているかどうかを確認することもできます。

Reachability* reachability = [Reachability sharedReachability];
[reachability setHostName:@"www.google.com"];    // set your host name here
NetworkStatus remoteHostStatus = [reachability remoteHostStatus];

if(remoteHostStatus == NotReachable) { }
else if (remoteHostStatus == ReachableViaWiFiNetwork) { }
else if (remoteHostStatus == ReachableViaCarrierDataNetwork) { }
于 2013-07-15T05:49:15.727 に答える
0

このリンクで提供されている Rechability クラスを使用できます

また、このリンクにアクセスすると、確実に役立ちます。

iOS または OSX でアクティブなインターネット接続を確認する方法は?

または、この単純なコード行も役立ちます

Reachability *reachability = [Reachability reachabilityForInternetConnection];   
NetworkStatus networkStatus = [reachability currentReachabilityStatus];    
if (networkStatus == NotReachable) {        
    NSLog(@"There IS NO internet connection");        
} else {        

     NSLog(@"There IS internet connection");        


    }        
}
于 2013-07-15T05:49:46.733 に答える