1

私はios開発が初めてです。接続が変更されたとき (またはデバイスの IP アドレスが変更されたとき) にコールバックが必要です。アプリケーションに Reachability (Apple のサンプル コード)を追加しました。しかし、コールバックはしません。

私はAndroidで同じことをしました - ネットワーク接続の変化を検出する「ConnectivityManager.CONNECTIVITY_ACTION」を受け取りました。

iOS で CONNECTIVITY_ACTION と同様の機能を実行できる API はありますか? どんな助けでも大歓迎です。ありがとう...

4

1 に答える 1

0

SCNetworkReachabilitySetCallbackを使用します。

Boolean SCNetworkReachabilitySetCallback (
   SCNetworkReachabilityRef target,
   SCNetworkReachabilityCallBack callout,
   SCNetworkReachabilityContext *context
);

したがって、コールバック メソッドは次のようになります。

typedef void (*SCNetworkReachabilityCallBack) (
   SCNetworkReachabilityRef target,
   SCNetworkReachabilityFlags flags,
   void *info
);

つまり、最初にコールバックを宣言します

static void MyReachabilityCallback(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* info)
{
 // do somthing
}

そしてそれを登録します:

SCNetworkReachabilityContext ctx = {0, self, NULL, NULL, NULL};
if(SCNetworkReachabilitySetCallback(reachabilityRef, MyReachabilityCallback, &ctx)) {
 // registered callback
于 2013-04-09T14:15:15.450 に答える