【发布时间】:2013-05-02 22:12:12
【问题描述】:
已经有一些关于此的问题,但其中似乎没有提供准确的结果。我需要简单地确定手机是否在给定时刻连接到手机网络。
此类似乎记录不正确,返回未安装 SIM 卡的手机的 mobileCountryCode、isoCountryCode 和 mobileNetworkCode 的值。如果手机已解锁,则运营商名称表示“家庭”网络或以前的家庭网络。
我还查找了一些人声称以下工作,它使用 CoreTelephony 框架的未记录方法,但结果对我来说毫无用处,报告看似随机的数字,可能它本身并没有持续更新。
-(int) getSignalStrength
{
void *libHandle = dlopen("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony", RTLD_LAZY);
int (*CTGetSignalStrength)();
CTGetSignalStrength = dlsym(libHandle, "CTGetSignalStrength");
if( CTGetSignalStrength == NULL) NSLog(@"Could not find CTGetSignalStrength");
int result CTGetSignalStrength();
dlclose(libHandle);
return result;
}
谢谢。
编辑:该应用已连接到内部 wifi 并且必须保持连接,这使得可访问性检查更加困难。
【问题讨论】:
-
它无法运行 IOS 8.3 帮助我
-
iOS 8.4 也不行,有没有其他办法?
标签: iphone objective-c xcode signals