/**获取装置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. Flappy bird源代码(略吊)

    #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> #inc ...

  2. 猫学习IOS(四)UI半小时就搞定Tom猫

    阿土 首先对影响 下载项目的源材料: Tom猫游戏代码iOS 素材http://blog.csdn.net/u013357243/article/details/44457357 效果图 以前风靡一时 ...

  3. 部署Redis主-从

    Redis主-从部署实践 0. 前言 这篇文章简要介绍Redis的主从部署,实现了一主二从,使用两个哨兵监控,以实现简单的HA,其中从库作为备机. 1. 部署 这里有三台服务器,其中239主机上的Re ...

  4. RH033读书笔记(16)-Lab 17 Installation and Administration Tools

    Lab 17 Installation and Administration Tools Goal: Become familiar with system configuration tools a ...

  5. linuxc_螺纹锁紧pthread_mutex_t

    在实际执行过程中的线程,我们经常需要同步多线程. 然后你可以使用互斥锁来完成任务:在使用过程中互斥锁,有pthread_mutex_init,pthread_mutex_destory,pthread ...

  6. 系列三VisualSvn Server

    原文:系列三VisualSvn Server VisualSvn Server介绍 1 .VisualSvn Server  VisualSvn Server是免费的,而VisualSvn是收费的.V ...

  7. Python 获取Twitter用户与Friends和Followers的关系(eg, 交集,差集)

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-30 @author: guaguastd @name: f ...

  8. 【Android小应用】强迫症头像生成器

    近期一段时间在微信朋友圈,在头像的右上角添加一个红底白字的数字,让非常多有强迫症的同学点个不停,深深佩服发明这样的头像的姑娘,太机智了.但它不能自己定义,这是硬伤.... 这是朋友圈里的效果图: 这个 ...

  9. Html5响应式设计与实现广场

    由于提出的想法响应式设计,越来越多的网站使用这样的思想.各类大型网站如雨后春笋般涌了出来.例如:小米商城.天猫等. 至于响应式设计的概念等大家能够去百度百度,我这里就不相信解说了.直接为大家带来源代码 ...

  10. Repository、IUnitOfWork和IDbContext

    DDD 领域驱动设计-谈谈Repository.IUnitOfWork和IDbContext的实践 上一篇:<DDD 领域驱动设计-谈谈 Repository.IUnitOfWork 和 IDb ...