На iOS 7, CTSubscriber
был добавлен в рамки CoreTelephony
. Там нет никакой документации доступна, только его заголовок файла:Что такое CTSubscriber (и как его использовать) на 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
Кроме того, на What's new on iOS 7, это упоминается:
Структура ядра Telephony (
CoreTelephony.framework
) позволяет получить информацию о типе радиотехнике в использовании устройством. Приложения, разработанные совместно с носителем, также могут аутентифицироваться у конкретного абонента для этого оператора.
Я думаю, что CTSubscriber
относится к полужирной части текста. Тем не менее, я не нашел ничего связанного с тем, как это происходит.
Я пытался использовать следующий код (добавленный к application:didFinishLaunchingWithOptions:
) поэкспериментировать с этим API, но уведомление никогда не стрелял и carrierToken
возвращается 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);
}];
Итак, у меня есть следующие вопросы:
- Что именно («информация авторизации») не
carrierToken
возвращение и как сделать это неnil
? - Как Apple узнает, что ваше приложение «разработано совместно с перевозчиком»?
- Как Evernote предоставляет 1 год премиум-аккаунта пользователям Telefonica (http://blog.evernote.com/blog/2013/08/13/evernote-and-telefonica-announce-global-partnership/)? (Наверное, нет, так как информация, которую они нуждаются может быть получена на
CTCarrier
)
см. Http://stackoverflow.com/questions/18961271/coretelephony-framework-ios-7 –
Это не отвечает на мои вопросы. Говорят, что некоторые методы являются частными (те, что я опубликовал, являются общедоступными), и информация, которую я опубликовал (документация и заголовок), тоже существует. –