本文主要是介绍ios7 设备唯一标志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
转自:http://supershll.blog.163.com/blog/static/37070436201399111929848/
1、KeyChain方法:http://www.cnblogs.com/smileEvday/p/UDID.html 项目地质:https://github.com/smileEvday/SvUDID 使用项目中的SvUDIDTools即可。现摘录以下:
苹果提供了一个方法允许同一个发商的多个APP访问各APP之间的途径,即在调SecItemAdd添加数据的时候指定AccessGroup,即访问组。一个APP可以属于同事属于多个分组,添加KeyChain数据访问组需要做一下两件事情:
a、在APP target的bulibSetting里面设置Co
b、在工程目录下新建一个KeychainAccessGroups.plist文件,该文件的结构中最顶层的节点必须是一个名为“keychain-access-groups”的Array,并且该Array中每一项都是一个描述分组的NSString。
“yourAppID.com.yourCompany.whatever”就是你要起的公共区名称,除了whatever字段可以随便定之外,其 他的都必须如实填写。这个文件的路径要配置 在 Project->build setting->Co
yourAppID从这里看:
其中第五列最开始的10个字符即为App Identifier
查询与添加或update详见https://github.com/smileEvday/SvUDID 使用项目中的SvUDIDTools.m文件。
首先创建一个Dictionary,其中设置一下查找条件,然后通过SecItemCopyMatching方法获取到我们之前保存到KeyChain中的数据。
2、identifierForVendor:程序卸载后会生成新的值。
3、获取IMEI:
1)https://github.com/erica/uidevice-extension/blob/master/UIDevice-IOKitExtensions.m
//IOKit导入介绍:http://ios-blog.co.uk/tutorials/iokit-an-introduction/
2)、NetworkController方式:
NSString* sdk_path = @ /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_SDK}.sdk/System/Library/PrivateFrameworks ; //路径酌情修改
NSBundle *b = [NSBundle bundleWithPath:[NSString stringWithFormat:@ %@/Message.framework , sdk_path]];
if ([b load]) {
Class NetworkController = NSClassFromString(@ NetworkController );
id nc = [NetworkController sharedInstance];
NSLog(@ -- IMEI: %@ , [nc IMEI]);
}
//经测试:失败
3)、CoreTelephony方式:https://github.com/search?l=Objective-C&q=imei&ref=simplesearch&type=Repositories 貌似只有越狱版本才可以。
这篇关于ios7 设备唯一标志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!