2014-01-06 3 views
8

На 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)
+0

см. Http://stackoverflow.com/questions/18961271/coretelephony-framework-ios-7 –

+0

Это не отвечает на мои вопросы. Говорят, что некоторые методы являются частными (те, что я опубликовал, являются общедоступными), и информация, которую я опубликовал (документация и заголовок), тоже существует. –

ответ

4

я задал тот же вопрос в форуме разработчиков и получил такой ответ:

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

Ссылка на поток: https://devforums.apple.com/message/934226#934226

+0

Не могли бы вы разместить ссылку на нить? –

+0

Кажется, что это лучший ответ, который может получить кто-то. На всякий случай, я подожду немного, прежде чем дать щедрость. –

+0

Ссылка больше не работает. Есть ли какая-либо документация или примеры того, как ее использовать более подробно? – AmineG

-1

Причина, по которой вы не можете найти какую-либо документацию, связана с тем, что большая часть Core Telephony состоит из частных API. Следовательно, нет никакого способа получить доступ к SIM-карте из приложения, опубликованного в App Store. Разумеется, джейлбрейк-устройство - это еще одна история, но в этом случае вы в значительной степени по своему усмотрению.

Edit:

Ядра Телефония рамка (CoreTelephony.framework) позволяет получить информации о типе радиотехники в использовании устройства. Приложения, разработанные совместно с перевозчиком, также могут аутентифицировать против конкретного абонента для этой несущей.

+0

Итак, почему Apple сделала методы, которые я упомянул публично? –

+0

проверить обновленный ответ – codercat

+0

Я знаю это. Это упоминается в моем вопросе. Что я хочу знать, так это то, как «Приложения, разработанные совместно с перевозчиком, могут также аутентифицироваться у конкретного абонента для этого оператора». –

Смежные вопросы