在iOS 7中,
此外,在iOS 7有什么新功能中提到了以下内容:
核心电话框架(CoreTelephony.framework)使您可以获取设备使用的无线电技术类型的信息。与运营商一起开发的应用程序还可以针对该运营商验证特定订户。
我认为CTSubscriber与文本中的粗体部分有关。但是,我没有找到任何相关的内容来解释这是如何发生的。
我尝试使用以下代码(添加到application:didFinishLaunchingWithOptions:中)来尝试使用此API,但通知从未触发,carrierToken返回nil:
CTSubscriber
被添加到CoreTelephony
框架中。目前没有可用的文档,只有它的头文件:/*
* 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
此外,在iOS 7有什么新功能中提到了以下内容:
核心电话框架(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
?- 苹果是如何知道您的应用程序是否与运营商一起开发的?
- 这是 Evernote 给 Telefonica 用户提供 1 年高级帐户的方式吗(http://blog.evernote.com/blog/2013/08/13/evernote-and-telefonica-announce-global-partnership/)?(可能不是,因为他们需要的信息可以在
CTCarrier
上获得)