I am developing an app for a mobile carrier. First I wanted to find any of the things (IMSI, ICCID, IMEI, MSISDN) so that I can detect if the SIM is related to my mobile carrier. But I guess Apple doesn't allow that.
Now as a workaround I will ask the user to register his phone number with my app. But then again bad things will happen if user changes the SIM.
Is there any way for me to detect SIM change using the official iOS SDK?
should sign up for a notification using subscriberCellularProviderDidUpdateNotifier
in http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/Reference/Reference.html
but, you're only be notified if the swap occurs while your app is running. you're still be unable to detect if the user changes the SIM to another SIM from the same operator when your app is not running.
You can get access only on jailbroken device.
Find file on path /private/var/root/Library/Lockdown/data_ark.plist
the key is InternationalMobileSubscriberIdenti
来源:https://stackoverflow.com/questions/11789357/detect-sim-change-or-find-imsi-of-the-sim-using-official-ios-sdk