首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是CTSubscriber (以及如何使用)在iOS 7上?

什么是CTSubscriber (以及如何使用)在iOS 7上?
EN

Stack Overflow用户
提问于 2014-01-06 06:12:02
回答 2查看 2.2K关注 0票数 8

在iOS 7上,CTSubscriber被添加到CoreTelephony框架中。没有可用的文档,只有其头文件:

代码语言:javascript
复制
/*
 * 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上,还提到了以下内容:

核心电话框架(CoreTelephony.framework)允许您获取设备正在使用的无线电技术类型的信息。与运营商联合开发的应用程序也可以针对该载波的特定用户进行身份验证。

我认为CTSubscriber与文本中的粗体部分有关。然而,我还没有发现任何关于这种情况是如何发生的。

我尝试使用以下代码(添加到application:didFinishLaunchingWithOptions:中)来试验此API,但通知从未触发,carrierToken返回nil

代码语言:javascript
复制
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用户(http://blog.evernote.com/blog/2013/08/13/evernote-and-telefonica-announce-global-partnership/)提供1年保费账户的方式吗?(可能不会,因为他们需要的信息可以在CTCarrier上获得)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-15 09:28:34

我在开发者论坛上问了同样的问题,得到了这样的答复:

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

票数 4
EN

Stack Overflow用户

发布于 2014-01-16 08:58:57

您找不到任何文档的原因是,核心电话的大部分都是由私有API组成的。因此,无法从app上发布的应用程序访问SIM卡。当然,越狱设备是另一个故事,但在这种情况下,你几乎只能靠自己了。

编辑:

核心电话框架(CoreTelephony.framework)允许您获取设备正在使用的无线电技术类型的信息。与运营商联合开发的应用程序也可以针对该运营商的特定用户进行身份验证。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20944090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档