The CTCarrier object has 5 properties:
allowsVOIP carrierName isoCountryCode mobileCountryCode mobileNetworkCode
I did some tests regarding CTCarrier, and I came to the conclusion that for iOS 7 only port_name and allows VOIP to be saved when the SIM card is removed. isoCountryCode, mobileCountryCode and mobileNetworkCode are reset for iOS 7. How can you determine if a SIM card is present or not.
For iOS 6, all values are saved.
I performed the tests using the iPhone 4S and iPhone 5 running iOS 7.
source share