博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【IOS】 遍历info 所有内容 && 唯一的节能设备UUID
阅读量:6326 次
发布时间:2019-06-22

本文共 2547 字,大约阅读时间需要 8 分钟。

/**获取装置imie*/std::string DeviceInfo::getIMIE() {#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)    NSString*bunider = nil;    NSBundle* mainBundle = [NSBundle mainBundle];    NSDictionary* infoDictionary =  [mainBundle infoDictionary];    id key;    NSArray* keys = [infoDictionary allKeys];    NSLog(@"Display all keys and values in info.plist\n");    for(key in keys)    {        NSString * keyCFBundleVersion = (NSString*)key;        if([keyCFBundleVersion isEqualToString:@"CFBundleIdentifier"])        {            NSLog(@"Bundle identifier = %@",keyCFBundleVersion);                        id  version =   [infoDictionary objectForKey:key];            bunider = (NSString*)version;            NSLog(@"bunider : %@",bunider);        }       // NSLog(@"key=%@ , value=%@\n",key,[infoDictionary objectForKey:key]);    }     NSString *uuid = Nil;//    须要用到开源类SSKeychain//    SSKeyChains对苹果安全框架API进行了简单封装。//    支持对存储在钥匙串中密码、账户进行訪问,包含读取、删除和设置。

// SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。 // 项目地址:https://github.com/samsoffes/sskeychain // 在project中增加SSKeyChain // 在project中增加Security.framework框架。 // 把SSKeychain.h和SSKeychain.m加到项目目录。 NSString *retrieveuuid = [SSKeychain passwordForService:bunider account:@"user"]; if ([retrieveuuid length] >0) { uuid = retrieveuuid; NSLog(@"uuid = %@",uuid); return [uuid UTF8String]; } CFStringRef ref = CFUUIDCreateString(kCFAllocatorDefault, CFUUIDCreate(kCFAllocatorDefault)); uuid = (NSString *)ref; const char* destDir = [uuid UTF8String]; CFRelease(ref); CCLOG("uuid = %s",destDir); string sime = destDir; sime = sime.substr(0,6); log("sime = %s",sime.c_str()); uuid = [NSString stringWithFormat:@"%s", sime.c_str()]; [SSKeychain setPassword:uuid forService:bunider account:@"user"]; return sime; #elif (CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID) JniMethodInfo minfo;//定义Jni函数信息结构体 //getStaticMethodInfo 次函数返回一个bool值表示是否找到此函数 bool isHave = JniHelper::getStaticMethodInfo(minfo,"com/nx/DeviceInfo","getIMIE", "()Ljava/lang/String;"); if(isHave){ jstring jstr; jstr = (jstring)minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID); string IMIE = JniHelper::jstring2string(jstr); CCLOG("--------------------------------------->IMIE: %s",IMIE.c_str()); return IMIE; } return "androidleon"; #endif ///debug auto strings=FileUtils::getInstance()->getValueMapFromFile("debug_text.xml"); std::string debug_user_name = strings["user_name"].asString(); if(debug_user_name.size()>0){ CCLOG("==use debug username=="); return debug_user_name; } / return "12124124123123124wbytext"; }

 

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
Anagrams by Stack(深度优先搜索)
查看>>
Tiny6410 设备驱动之helloworld
查看>>
MongoDB副本集学习(二):基本测试与应用
查看>>
POJ 3280 Cheapest Palindrome(DP 回文变形)
查看>>
oracle修改内存使用和性能调节,SGA
查看>>
SQL语言基础
查看>>
对事件处理的错误使用
查看>>
最大熵模型(二)朗格朗日函数
查看>>
UML--核心元素之用例
查看>>
Redis:安装、配置、操作和简单代码实例(C语言Client端)
查看>>
深入了解setInterval方法
查看>>
【Git】Git与GitHub 入门
查看>>
【C++程序员学 python】python 之helloworld
查看>>
function
查看>>
推送方案的评价标准
查看>>
ubuntu显示桌面的快捷键,以及修改方法
查看>>
LVS DR模式 RealServer 为 Windows 2008 R2配置
查看>>
html img Src base64 图片显示
查看>>
IE6 png图片实现半透明的方法
查看>>
[Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction...
查看>>