What is CTSubscriber (and how to use it) on iOS 7?

In iOS 7, CTSubscriber was added to the CoreTelephony . There is no documentation available, only its header file:

 /* * CTSubscriberTokenRefreshed * * Description: * The name of the NSNotification sent when the carrier token is available. */ CORETELEPHONY_EXTERN NSString * const CTSubscriberTokenRefreshed __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); CORETELEPHONY_CLASS_AVAILABLE(7_0) @interface CTSubscriber : NSObject /* * carrierToken * * Description: * A data blob containing authorization information about the subscriber. * * May return nil if no token is available. */ @property (nonatomic, readonly, retain) NSData* carrierToken __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0); @end 

Also, on What's New in iOS 7 , this is mentioned:

The structure of basic telephony ( CoreTelephony.framework ) provides information on the type of radio technology used by the device. Applications developed in conjunction with the medium can also authenticate against a particular subscriber for that carrier .

I think CTSubscriber refers to the bold part of the text. However, I did not find anything related to how this happens.

I tried using the following code (added to application:didFinishLaunchingWithOptions: to experiment with this API, but the notification never starts and carrierToken returns nil :

 CTSubscriber *subscriber = [CTSubscriberInfo subscriber]; NSLog(@"%@", subscriber.carrierToken); [[NSNotificationCenter defaultCenter] addObserverForName:CTSubscriberTokenRefreshed object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) { NSLog(@"=========="); NSLog(@"%@", note); NSLog(@"%@", subscriber.carrierToken); }]; 

So, I have the following questions:

+8
ios objective-c ios7 core-telephony
source share
2 answers

I asked the same question in the developer forums and got this answer:

You should escalate this via the carrier you're working with, who can in turn escalate it to their contact at Apple.

Link to the stream: https://devforums.apple.com/message/934226#934226

+4
source share

The reason you can't find any documentation is because most of Core Telephony consists of private APIs. Therefore, there is no way to access the SIM card from an application published on the App Store. Of course, a jailbreak device is another story, but in this case you are pretty much on your own.

Edit:

The structure of basic telephony (CoreTelephony.framework) provides information on the type of radio technology used by the device. Applications developed in conjunction with the carrier can also authenticate against a particular subscriber for that carrier.

-one
source share

All Articles