i curious why i get wrong value to get carrier name and signal strength. Here the code.
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] in
It is quite common that signal strength values are returned as integer numbers. The tricky point is the mapping to the corresponding dBm value. Usually the int values provide a resolution of 0.5, 1, or 2 dBm. The dBm values reported by the handset/modem usually range from -115 to -51 dBm for 2G (GSM/EDGE) and -120 to -25 dBm for 3G (UMTS/HSxPA) and represent the RSSI (received signal strength indicator).
E.g. the Android API uses the default 3GPP mapping (see Android reference).
Please take also into account that the baseband modem differs between the iPhone 4S (Qualcomm) and earlier models which used an Infineon Gold.