`

iPhone开发技巧之私有API — 设备相关信息

阅读更多

使用这些API是要冒一些风险的,一是不会通过 App Stroe 的审核,二是以后比一定还能在高版本的SDK中使用。所以使用之前,三思而行。

先总结一些与设备相关的API。
IMEI
可以在这里下载NetworkController.h, 或者使用你自己dump的版本。使用如下:

  1. #import "NetworkController.h"
  2. // 获得IMEI
  3. // 需要 Message.framework
  4. + (NSString*) getDeviceIMEI {
  5.     NetworkController *ntc = [NetworkController sharedInstance];
  6.     return [ntc IMEI];
  7. }



IMSI

  1. // 需要 CoreTelephony framework
  2. // 在文件开头加入
  3. extern NSString* CTSIMSupportCopyMobileSubscriberIdentity();
  4. + (NSString*) getDeviceIMSI {
  5.     return CTSIMSupportCopyMobileSubscriberIdentity();
  6. }



本机电话号码

  1. // 需要 CoreTelephony framework
  2. // 在文件开头加入
  3. extern NSString* CTSettingCopyMyPhoneNumber();
  4. + (NSString*) getPhoneCodeByCT {
  5.     return CTSettingCopyMyPhoneNumber();
  6. }



动态加载Framework

除了使用Xcode将Framework加入工程,你也可以使用下面的方法,在程序中动态加载,比如取得IMEI的例子:

  1. NSString* sdk_path = @"/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_SDK}.sdk/System/Library/PrivateFrameworks";
  2. NSBundle *b = [NSBundle bundleWithPath:[NSString stringWithFormat:@"%@/Message.framework", sdk_path]];
  3. if ([b load]) {
  4.     Class NetworkController = NSClassFromString(@"NetworkController");
  5.     id nc = [NetworkController sharedInstance];
  6.     NSLog(@"-- IMEI: %@", [nc IMEI]);
  7. }
分享到:
评论

相关推荐

    苹果手机助手开发demo

    总的来说,"苹果手机助手开发demo"是一个全面的教程,它涵盖了从设备连接管理到信息获取的多个方面,可以帮助开发者了解和实践iOS设备管理的相关技术。通过深入研究DEMO,开发者不仅可以学习到具体的编程技巧,还能...

    iOS中关于Taptic-Engine震动反馈的深入解析

    在iOS开发中,Taptic Engine 是一种用于提供触觉反馈的技术,它首次出现在Apple Watch中,随后被引入到iPhone 6s和更高版本的设备中。Taptic Engine 的设计目标是为了提供更细腻、真实的触觉反馈,以增强用户的交互...

    SBManager:双击 iPhone 的状态栏将其替换为 9

    SBManager 是一个基于 Swift 编程语言开发的第三方工具,主要功能是为 iPhone 用户提供一个特殊的功能:双击设备的状态栏可以将当前显示的时间替换为 9:41,这个时间点在苹果产品发布会中经常被用作屏幕截图的理想...

    Objective-C语法总结

    最后,文档的作者提到了他个人参与了两个iPhone项目,并将在这过程中对Objective-C语言的理解和开发经验整理成文档,希望与有意从事iPhone开发的朋友分享。作者还表示,文档内容部分参考了网页、斯坦福大学课程和...

    基于jquery仿QQiPhone首页.rar

    在“基于jquery仿QQiPhone首页”这个项目中,jQuery被用来实现类似QQ iPhone应用首页的交互效果。 1. **选择器**: jQuery提供了一套丰富的选择器,如ID选择器(#id),类选择器(.class)和元素选择器(element),用于...

    iOS Hackers Handbook

    特别是对于那些包含私有API调用的应用来说,正确配置这些文件显得尤为重要。 #### 应用程序签名 应用程序签名是iOS系统确保软件来源可靠性的关键环节之一。本章节详细讲解了数字证书生成过程、公钥基础设施(PKI)...

    ios 百度面试题目

    - **自我介绍**:在面试时,自我介绍不仅仅是简单地讲述个人信息,更重要的是通过介绍自己的经历、技能以及成就来展示自己的能力和潜力。 - **项目经验**:面试官希望了解应聘者在实际工作中所承担的角色、解决的...

Global site tag (gtag.js) - Google Analytics