我是ios开发新手。我想在连接更改(或设备的 IP 地址更改)时进行回调。我在我的应用程序中添加了可达性(Apple 的示例代码)。但它不给回调。
我在 Android 中做了同样的事情 - 接收“ConnectivityManager.CONNECTIVITY_ACTION”,它检测到网络连接发生了变化。
iOS 中是否有任何 API 可以执行与 CONNECTIVITY_ACTION 类似的功能?任何帮助表示赞赏。谢谢...
我是ios开发新手。我想在连接更改(或设备的 IP 地址更改)时进行回调。我在我的应用程序中添加了可达性(Apple 的示例代码)。但它不给回调。
我在 Android 中做了同样的事情 - 接收“ConnectivityManager.CONNECTIVITY_ACTION”,它检测到网络连接发生了变化。
iOS 中是否有任何 API 可以执行与 CONNECTIVITY_ACTION 类似的功能?任何帮助表示赞赏。谢谢...
使用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