1

iOS 7 の CoreTelephony フレームワークでより多くのことを可能にする変更はありますか?! ここで新しいヘッダーファイルを見つけました:

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

では、それらのメソッドを使用できるようになったということですか?! それともまだプライベートですか?

4

2 に答える 2

6

Apple Dev に関する最新のドキュメントは 2010 年 3 月 15 日のもので、iOS 4.0 を対象としており、次のクラスが含まれています。

  • CTコール
  • CTコールセンター
  • CTキャリア
  • CTTelephonyNetwork

iOS 7 アップデートに関する入手可能な唯一のドキュメントには、Kogus が投稿したものと、「アップデートについては、ヘッダー ファイルを参照してください」という 1 行が含まれています。XCode でフレームワークを開くと、iOS 7 で次のクラスを使用できます。

  • CTコール
  • CTコールセンター
  • CTキャリア
  • CT加入者
  • 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

それが役立つことを願っています。

于 2013-12-02T17:35:46.420 に答える
0

What's New in iOS: iOS 7.0から:

Core Telephony フレームワーク (CoreTelephony.framework) を使用すると、デバイスで使用されている無線技術の種類に関する情報を取得できます。キャリアと連携して開発されたアプリは、そのキャリアの特定のサブスクライバーに対して認証することもできます。

于 2013-09-23T14:11:41.067 に答える