此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 }