2014-01-06 4 views
8

Unter iOS 7 wurde CTSubscriber zum CoreTelephony Framework hinzugefügt. Es gibt keine Dokumentation zur Verfügung, nur die Header-Datei:Was ist CTSubscriber (und wie man es benutzt) auf iOS 7?

/* 
* 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 

Auch auf What's new on iOS 7, dies erwähnt wird:

Der Core-Telefonie Rahmen (CoreTelephony.framework) Sie Informationen über die Art der Funktechnologie optimal nutzen können im Einsatz durch das Gerät. Apps, die in Verbindung mit einem Mobilfunkanbieter entwickelt wurden, können sich auch bei einem bestimmten Teilnehmer für diesen Mobilfunkanbieter authentifizieren.

Ich denke, dass CTSubscriber mit dem fett gedruckten Teil des Textes verwandt ist. Ich habe jedoch nichts darüber herausgefunden, wie dies geschieht.

Ich habe versucht, den folgenden Code (hinzugefügt application:didFinishLaunchingWithOptions:) zu verwenden, um mit dieser API zu experimentieren, aber die Meldung nie abgefeuert wird und carrierToken kehrt 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); 
}]; 

Also, ich habe folgende Fragen:

+0

Bitte werfen Sie einen Blick http://StackOverflow.com/Questions/18961271/Coretelephony-Framework-IOS-7 –

+0

Dies beantwortet meine Fragen nicht. Es wird nur gesagt, dass einige Methoden privat sind (die, die ich gepostet habe, sind öffentlich) und die Informationen, die ich gepostet habe (Dokumentation und Header), sind auch da. –

Antwort

4

fragte ich die gleiche Frage in den Entwicklerforen und bekam diese Antwort:

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

Link zum Thema: https://devforums.apple.com/message/934226#934226

+0

Könnten Sie bitte den Thread-Link posten? –

+0

Es scheint, dass dies die bessere Antwort ist, die jemand bekommen kann. Nur für den Fall, ich warte ein wenig bevor ich das Kopfgeld gebe. –

+0

Der Link funktioniert nicht mehr. Gibt es Dokumentation oder Beispiele, wie man es in weiteren Details benutzt? – AmineG

-1

Der Grund, warum Sie keine Dokumentation finden können, liegt darin, dass ein Großteil der Kerntelefonie aus privaten APIs besteht. Folglich gibt es keine Möglichkeit, über eine im App Store veröffentlichte App auf die SIM-Karte zuzugreifen. Ein Jailbreak-Gerät ist natürlich eine andere Geschichte, aber in diesem Fall bist du ziemlich alleine.

Edit:

Der Core-Telefonie Rahmen (CoreTelephony.framework) können Sie Informationen über die Art der Funktechnik im Einsatz durch das Gerät. Apps, die in Verbindung mit einem Mobilfunkanbieter entwickelt wurden, können auch gegenüber einem bestimmten Teilnehmer für diesen Mobilfunkanbieter authentifizieren.

+0

Warum also hat Apple die Methoden, die ich erwähnt habe, öffentlich gemacht? –

+0

Überprüfen Sie die aktualisierte Antwort – codercat

+0

Ich weiß das. Es ist auf meiner Frage erwähnt. Was ich wissen möchte ist, wie "Apps, die in Verbindung mit einem Carrier entwickelt wurden, sich auch gegen einen bestimmten Subscriber für diesen Carrier authentifizieren können". –

Verwandte Themen