此API是apple私有API,所以只可运用在越狱设备中,如果提交appstore,会遭遇apple的拒绝上架反馈!
1 #import <dlfcn.h> 2 3 int getSignalLevel() 4 { 5 void *libHandle = dlopen("/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony",RTLD_LAZY);//获取库句柄 6 int (*CTGetSignalStrength)(); //定义一个与将要获取的函数匹配的函数指针 7 CTGetSignalStrength = (int(*)())dlsym(libHandle,"CTGetSignalStrength"); //获取指定名称的函数 8 9 if(CTGetSignalStrength == NULL) 10 return -1; 11 else{ 12 int level = CTGetSignalStrength(); 13 dlclose(libHandle); //切记关闭库 14 return level; 15 } 16 }