原创文章不易,转载时请保留原始链接:http://blog.csdn.net/ookcode/article/details/41864253 谢谢!! 在iOS7之前, 可以方便的使用 [[UIDevice currentDevice] uniqueIdentifier] 来获取设备的UDID,但是在iOS7之后这个方法不再适用。
你可以用[[UIDevicecurrentDevice]valueForKey:@"uniqueIdentifier"];来获取到一个值,但这个值在iOS7中已经变成了FFFFFF+IDFV的值,显然,这个值并不能唯一标识设备。
再谈一谈IMEI,这个值好像在5.0的sdk中就不见了,私有库Message.framework的MFNetworkController.h中去掉了这个方法。
本以为iOS7及以上系统无法再获取到这些值,但看看别人Cydia,不是取得好好的吗?参考了一下Cydia的源码: 可以看到它使用了libMobileGestalt.dylib这个动态库,下面说一说具体如何操作。
1、导入libMobileGestalt.dylib库 2、加入声明
3、使用如下方法获取
4、经过测试发现这些方法在iOS7以下不用越狱就能取到、在iOS7中需要越狱并创建xxx.entitlements文件,添加如下权限
5、在BuildSettings的Code SigningEntitlements中添加刚才创建的文件xxx.entitlements
6、编译运行
7、附上demo工程 http://download.csdn.net/detail/ookcode/8247495
8、我的环境 Xcode 6.1 iOS 8.1 SDK OS X 10.9.5 ****************************************************************** 后话:第一次在csdn上写博客,希望能养成写博客的这个好习惯。 ****************************************************************** 原创文章不易,转载时请保留原始链接:http://blog.csdn.net/ookcode/article/details/41864253 谢谢!! |
|
来自: 叹落花 > 《关于entitlements》