2012-08-03 43 views
13

Tôi đang phát triển ứng dụng cho nhà cung cấp dịch vụ di động. Đầu tiên tôi muốn tìm bất kỳ thứ gì (IMSI, ICCID, IMEI, MSISDN) để tôi có thể phát hiện xem SIM có liên quan đến nhà cung cấp dịch vụ di động của tôi hay không. Nhưng tôi đoán Apple không cho phép điều đó.Phát hiện thay đổi SIM HOẶC tìm IMSI của SIM bằng SDK iOS chính thức?

Bây giờ là giải pháp thay thế, tôi sẽ yêu cầu người dùng đăng ký số điện thoại của anh ấy với ứng dụng của tôi. Nhưng sau đó một lần nữa những điều xấu sẽ xảy ra nếu người dùng thay đổi SIM.

Có cách nào để tôi phát hiện thay đổi SIM bằng SDK iOS chính thức không?

+0

Nếu không có SIM được lắp, 'CTCarrier.isoCountryCode' trả về 'nil'. http://developer.apple.com/library/ios/ipad/#DOCUMENTATION/NetworkingInternet/Reference/CTCarrier/Reference/Reference.html#//apple_ref/doc/uid/TP40009596-CH1-SW1 –

+0

nhưng tôi muốn để phát hiện thay đổi SIM ... – orak

+0

bản sao có thể có của [Có thể xác định xem số điện thoại/số điện thoại đã thay đổi không?] (http://stackoverflow.com/questions/10872117/is-it-possible-to-determine-if -e-sim-phone-number-has-changed) – CodaFi

Trả lời

3

nên đăng ký một thông báo bằng subscriberCellularProviderDidUpdateNotifier trong http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/Reference/Reference.html

nhưng, bạn chỉ được thông báo nếu hoán đổi xảy ra khi ứng dụng của bạn đang chạy. bạn vẫn không thể phát hiện nếu người dùng thay đổi SIM sang một SIM khác từ cùng một nhà điều hành khi ứng dụng của bạn không chạy.

7

Bạn chỉ có thể truy cập trên thiết bị được bẻ khóa.

Tìm tập tin trên con đường /private/var/root/Library/Lockdown/data_ark.plist

phím là InternationalMobileSubscriberIdenti