iOS 7 中的 CoreTelephony 框架是否有任何更改?我在这里找到了新的头文件:
https://github.com/EthanArbuckle/IOS-7-Headers/tree/master/Frameworks/CoreTelephony.framework
那么,这是否意味着它现在可以使用这些方法了?!还是他们仍然是私人的?!
iOS 7 中的 CoreTelephony 框架是否有任何更改?我在这里找到了新的头文件:
https://github.com/EthanArbuckle/IOS-7-Headers/tree/master/Frameworks/CoreTelephony.framework
那么,这是否意味着它现在可以使用这些方法了?!还是他们仍然是私人的?!
Apple Dev 的最后一个可用文档是从 2010 年 3 月 15 日开始,涵盖 iOS 4.0,并包括以下类:
iOS 7 更新的唯一可用文档包括 Kogus 发布的内容以及一行“对于更新,请查看头文件”。在 XCode 中打开框架时,iOS 7 中提供了以下类:
根据 iOS 7 关于无线电技术的说明,看起来最相关的变化是在CTTelephonyNetwork
类内,增加了currentRadioAccessTechnology
属性。
看起来实际上还有很多可用的,只是基于 github 链接。但我敢打赌,这些主要是私有 API。我认为最安全的方法是坚持使用 Xcode 中可用的公共标头。为此,iOS 7 中添加的相关位将是(删除了 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);
和...
/*
* CTTelephonyNetworkInfo.h
* CoreTelephony
*
* Copyright 2009 Apple, Inc. All rights reserved.
*
*/
#import <Foundation/Foundation.h>
#import <CoreTelephony/CoreTelephonyDefines.h>
/*
* CTRadioAccessTechnologyDataTechnologyDidChangeNotification
*
* Description:
* A NSNotification broadcast when radio access technology changes
*/
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyDidChangeNotification __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
/*
* Radio Access Technology values
*/
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0 __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
/*
* currentRadioAccessTechnology
*
* Discussion:
* The current radio access technology the device is registered with. May be NULL
* if device is not registered on any network.
*/
@property (nonatomic, readonly, retain) NSString* currentRadioAccessTechnology __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
@end
希望有帮助。
Core Telephony 框架 (CoreTelephony.framework) 允许您获取有关设备使用的无线电技术类型的信息。与运营商一起开发的应用程序还可以针对该运营商的特定订阅者进行身份验证。