2013-09-23 62 views
1

是否有任何更改將允許在iOS 7中的CoreTelephony Framework中獲得更多?我找到了新的Headerfiles這裏:CoreTelephony Framework iOS 7

https://github.com/EthanArbuckle/IOS-7-Headers/tree/master/Frameworks/CoreTelephony.framework

那麼,這是否意味着它現在允許使用這些方法?還是他們仍然是私人的?

+0

[iOS 6.1 to iOS 7.0 API Differences](https://developer.apple.com/library/ios/releasenotes/General/iOS70APIDiffs/index.html#//apple_ref/doc/uid/TP40013203) – Desdenova

+0

因此,這些在鏈接中列出的標題可以使用,而不會被Apple拒絕?! – davidOhara

+2

當然可以。非公開API是從未記錄。所以如果你在官方文檔中看到任何東西,他們可以自由使用。 – Desdenova

回答

6

在蘋果開發的最後一個可用的文件是從2010年3月15日,涵蓋的iOS 4.0,幷包括以下類別:

  • CTCall
  • CTCallCenter
  • CTCarrier
  • CTTelephonyNetwork

iO的唯一可用文檔S 7更新包括Kogus發佈的內容以及一行說「更新,查看頭文件」的單行。當你在XCode中打開框架下,下面的類iOS中7可用:

  • CTCall
  • CTCallCenter
  • CTCarrier
  • CTSubscriber
  • CTSubscriberInfo
  • CTTelephonyNetwork

基於關於無線電技術的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 

希望有所幫助。

0

What's New in iOS: iOS 7.0

的核心電話框架(CoreTelephony.framework)讓你獲取關於無線電技術中使用的設備類型 信息。 與運營商一起開發的應用也可以針對該運營商的特定用戶認證 。