/**获取装置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";
}

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

【IOS】 遍历info 所有内容 && 唯一的节能设备UUID的更多相关文章

  1. PHP遍历目录下的文件夹和文件 以及遍历文件下内容

    1.遍历目录下的文件夹和文件: public function bianli1($dir) { $files = array(); if($head = opendir($dir)) { while( ...

  2. 稳定获取Android设备唯一码(UUID)的解决方案

    最近做的一个项目中需要用到Android设备唯一码(UUID)来标识一台设备, Android中设备唯一码有很多,如:MAC地址.IMEI号(DeviceId).IMSI号.ANDROID_ID.序列 ...

  3. 通用唯一标识码UUID的介绍及使用。

    什么是UUID? UUID全称:Universally Unique Identifier,即通用唯一识别码. UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = ...

  4. ios webview自适应实际内容高度4种方法

    有的时候会碰见类似的苦逼需求, webview自适应实际内容高度 下面有四种方法供使用 方法1:获取webview中scrovllview的contentsize进行设置   1 2 3 4 5 6 ...

  5. Java 用自带dom解析器遍历叶子节点内容

    一.XML文件config.xml,内容如下: <?xml version="1.0" encoding="UTF-8" standalone=" ...

  6. iOS 动态计算文本内容的高度

    关于ios 下动态计算文本内容的高度,经过查阅和网上搜素,现在看到的有以下几种方法: 1. //  获取字符串的大小  ios6 - (CGSize)getStringRect_:(NSString* ...

  7. 【读书笔记】iOS网络-HTTP-请求内容

    一,GET方法. 从服务器获取一段内容,用HTTP术语来说就是实体.GET请求通常不包含请求体,不过也是可以包含的.有些网络缓存设施只会缓存GET响应.GET请求通常不会导致服务器端的数据变化. 二, ...

  8. iOS内存管理部分内容

    Objective-C 高级编程 iOS与OS X多线程和内存管理第一章部分讲述了关于ARC的内容,还讲述了关于修饰符的问题,还讲了好多底层的实现的内容,这些底层实现却往往是在面试的过程中经常被遇到的 ...

  9. jquery根据(遍历)html()的内容/根据子元素的内容(元素文本)来选择(查询),在子元素前加入元素

    <ul> <li>First</li> <li>second</li> <li>third</li> </ul ...

随机推荐

  1. 黑马day11 脏读数据&amp;解

    数据库: create table account ( id int primary key auto_increment, name varchar(20), money double ); ins ...

  2. 【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

    内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...

  3. 【干货】免费获得WebStorm软件

    内容提要: 1.WebStorm简介 2.如何免费获得WebStorm 3.利用学生身份免费获得正式版WebStorm WebStorm简介 WebStorm 是一款前端开发 IDE(集成开发环境), ...

  4. [Aaronyang] 写给自己的WPF4.5 笔记15[AyArc诞生-WPF版本绚丽的环状图,Ay制作,AyWindow强势预览]

    原文:[Aaronyang] 写给自己的WPF4.5 笔记15[AyArc诞生-WPF版本绚丽的环状图,Ay制作,AyWindow强势预览]  我的文章一定要做到对读者负责,否则就是失败的文章  -- ...

  5. Cocos2d-iPhone V3 (1) 其基本程序常用的行动框架和介绍

    Cocos2d-iPhone V3 (1) 其基本程序常用的行动框架和介绍 博客:http://blog.csdn.net/prevention 笔者:犀利哥 - 第一部分:一个 Cocos2d-iP ...

  6. 设计模式之前奏(UML类图)

    原文:设计模式之前奏(UML类图) 本人菜菜一个,最近一直在博客园游走闲逛,看到了各种技术,各种各种…….便看到了大话设计模式这本书,下了电子版的看了看第一章,感觉相当不错,不仅通俗易懂,而且与实际案 ...

  7. 自己写CPU第九阶段(3)——加载存储指令说明2(swl、swr)

    我们会继续上传新书<q=%E8%87%AA%E5%B7%B1%E5%8A%A8%E6%89%8B%E5%86%99CPU&ie=utf-8&src=se_lighten_quot ...

  8. Cocos2d Lua 越来越小样本 内存游戏

    1.游戏简介 一个"记忆"类的比赛游戏.你和电脑对战,轮到谁的回合,谁翻两张牌,假设两张牌一样.就消掉这两张牌,得2分,能够继续翻牌,假设两张牌不一样,就换一个人.直到最后.看谁的 ...

  9. oracle Constraint[相似 constraint使用方法总结 I]

    约束简单介绍 约束用于确保数据库数据满足特定的商业逻辑或者企业规则,假设定义了约束,而且数据不符 合约束,那么DML操作(INSERT.UPDATE.DELETE)将不能成功运行.约束包含NOT NU ...

  10. 如何有效抓取SQL Server的BLOCKING信息

    原文:如何有效抓取SQL Server的BLOCKING信息 转自:微软亚太区数据库技术支持组 官方博客 http://blogs.msdn.com/b/apgcdsd/archive/2011/12 ...