iOS获取当前设备型号等信息(全)包含iPhone和iPhoneP_第1页
iOS获取当前设备型号等信息(全)包含iPhone和iPhoneP_第2页
iOS获取当前设备型号等信息(全)包含iPhone和iPhoneP_第3页
iOS获取当前设备型号等信息(全)包含iPhone和iPhoneP_第4页
iOS获取当前设备型号等信息(全)包含iPhone和iPhoneP_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ios获取当前设备型号等信息(全)包含iphone和iphonep这篇文章主要介绍了 ios获取当前设备型号设备信息的总结包含iphone和iphonep,包括ios 之前之后的获収方式,本文接的非常详细,具有参考借鉴价值,需要的朋友可以参考下#include <sys/types.h> #include <sys/sysctl.h>/ 获得设备型号 + (nsstring *)getcurrentdevicemodel int mib; size_t len; charchar *machine; mib = ctl_hw; mib= hw_machine; sysc

2、tl(mib, , null, &lenz null, ); machine = malloc(len); sysctl(mib, , machine, &len, null, ); nsstring *platform = nsstring stringwithcstring:machine encodi ng:nsasciistringe ncodi ng;free(machi ne); / iphone if (platformisequaltostring:"iphone/') return "iphoneg" if (platfo

3、rm isequaltostring:"iphone,") return "iphoneg" if (platform isequaltostring:"iphone/") return "iphonegs" if (platform isequaltostring:"iphone,") return "iphone" if (platform isequaltostring:"iphone/h) return "iphone" if (plat

4、form isequaltostring:,iphone/") return "iphone" if (platform isequaltostring:"iphone,") return "iphones" if (platform isequaltostring:"iphone/') return "iphone"讦(platform isequaltostring:"iphone/') return "iphone"讦(platform ise

5、qualtostring:"iphone,") return "iphonec" if (platform isequaltostring:,iphone,") return "iphonec" if (platform isequaltostring:"iphone,") return "iphones" if (platform isequaltostring:"iphone,") return hiphones" if (platform isequ

6、altostring:"iphone/,j) return "iphone" if (platform isequaltostring:"iphonez") return "iphoneplus" if (platform isequaltostring:"iphone/') return "iphones" if (platform isequaltostring:"iphone/') return ,iphonesplus" if (platform is

7、equaltostring:,iphone/") return uiphonese"讦 (platform isequaltostring:"iphone,") return "iphonese" if (platform isequaltostring:"iphonez") return "iphone" if (platform isequaltostring:"iphone/") return (©"iphoneplus" /ipod to

8、uch if (pla 廿 orm isequaltostring:"ipod,") return "ipodtouch"讦(platform isequaltostring:"ipodj,) return "ipodtouchg"讦(platform isequaltostring:"ipod/") return "ipodtouchg" if (platform isequaltostring:"ipodz") return "ipodtouchg&q

9、uot;讦(platform isequaltostring:"ipod,") return "ipodtouchg" if (platform isequaltostring:"ipod,") return nipodtouchg" /ipad 讦(platformisequaltostring:"ipad/")"ipad" if (platformisequaltostring:"ipad/")”ipad“; if (platform isequaltostri

10、ng:”ipacv)"ipad"if(platformisequaltostring:"ipad/')return"ipad"if(platformisequaltostring:"ipad/")returnisequaltostring:"ipadz")return"ipadh;if(platformreturn"ipad"if(platformisequaltostring:"ipad,")returnisequaltostring:“ipad

11、,”)return”ipad“;if(platformreturn"ipad"if(platformisequaltostring:”ipad,”)returnisequaltostring:”ipad,”)return"ipadh;讦(platformreturn"ipad"讦(platformisequaltostring:,ipad/,')return "ipad" /ipad air if (platform isequaltostring:"ipad,") return "ip

12、adair" if (platform isequaltostring:”ipad,”) return hipadair" if (platform isequaltostring:”ipad,”) return "ipadair" if (platform isequaltostringpad;') return "ipadairh; if (pla 廿 orm isequaltostring:"ipad/") return "ipadair" /ipad mini if (platform i

13、sequaltostring:"ipad/") return "ipadminig" if (platform isequaltostring:"ipad/') return hipadminig" if (platform isequaltostring:"ipad/") return "ipadminig" if (platform isequaltostring:"ipad/") return "ipadmini',; if (pla廿orm

14、isequaltostring:”ipad) return "ipadmini,; if (platform isequaltostring:"ipad/") return "ipadmini" if (platform isequaltostring:"ipad,") return"ipadmini"if(platformisequaltostring:,ipad/')return“ipadmini"if(platformisequaltostring:"ipad,"

15、;) return "ipadmini" if (platform isequaltostring:"ipad/") return ”ipadmini”;if(pla廿ormisequaltostring:,ipad/,')return“ipadmini”;if(platformisequaltostring:"i") return "iphonesimulator" if (platform isequaltostring:"x_") return "iph on esimu

16、lator" retur n platform;获取设备信息总结、获収设备的信息uidevice *device = uidevice alloc int; nsstring *name = ; 获取设备所有者的 名称 nsstring *model = ; 获取设备的类另u nsstring *type = device.localizedmodel; 获取本地化版本 nsstring *systemname = device.systemname; 获 収当前运行的系统nsstring *systemversion = device.s

17、ystemversion;/获収当前系统的版本、获取设备的唯一标示符nsstring identifier 二uidevice currentdevice identifierforvendor uuldstring;、为系统创建一个随机的标示符(nsstring*) createuuld nsstri ng *id = nsuserdefaults standarduserdefaults objectforkey:"uuid" 获取标识为"uuid"的值 if(id = nil) if(uidevice currentdevice systemver

18、sion floatvalue > .) nsstring *identifiernumber = nsuuid uuid uuldstring; /ios .之后可以使用的 api nsuserdefaults standarduserdefaults setobject:identifiernumber forkey:"uuid" 保存为 uuid nsuserdefaults standarduserdefaults synchronize; else cfuuldref uuid = cfuuidcreate(null); cfstringref uuidst

19、ring = cfuuidcreatestring(null, uuid); /ios.之前使用的 api nsstring *identifiernumber = nsstring stringwithformat:"%"z uuidstring; nsuserdefaults standarduserdefaults setobject:identifiernumber forkey:"uuid" nsuserdefaults standarduserdefaults synchronize; cfrelease(uuidstring); cfrel

20、ease(uuid); return nsuserdefaults standarduserdefaults objectforkey"uuid" return id;、获収当前屏幕分辨率的信息cgrect rect = ulscree n main scree n boun ds; cgfioat scale = ulscreen main scree n.scale; cgfioat width = rect.size.width * scale; cgfioat height = rect.size.height * scale;、获取运营簡的信息需要先导入头文件#i

21、mport<coretelephony/ctcarrier.h>#import<coreteleph on y/ctteleph ony networklnfo.h>创建对象cctelephonynetworklnfo *info = cttelephonynetworklnfo alloc init;获取运行商的名称ctcarrier *carrier = info subscribercellularprovider; nsstring *mcarrier = nsstri ng strin gwithformat:,l%'l/carrier carrier

22、name;获取当前网络的类型ios之后可以按照以下方式获取。方便而且类型多nsstring*mconnecttype=nsstringallocinitwithformat:,%,info.curre ntradioaccesstech no logy;类型有以下:ctradioaccesstechnologygprs 介于 g 和 g 之间,也叫.g ,过度技术 ctradioaccesstechnologyedge /edge 为 gprs 到第三代移动通信的过渡,edge 俗称.g ctradioaccesstechnologywcdma ctradioaccesstechnologyh

23、sdpa 亦称为.g(?g) ctradioaccesstechnologyhsupa /g 至u g 的过度技术 ctradioaccesstechnologycdmax /g ctradioaccesstechnologycdmaevdorev /g 标准 ctradioaccesstechnologycdmaevdoreva ctradioaccesstechnologycdmaevdorevb ctradioaccesstechnologyehrpd 电信使用的一种 g 到 g 的演进技术,.g ctradioaccesstechnologylte 接近 gios之前的话apple给我

24、们提供了 reachability来获取。首先要导入 systemconfiguration.framework,把下载下来的 reachability.h 和 reachability.m 加进项目屮reachability *reach = reachability reachabilitywithhostname:"appleu; switch(reach currentreachabilitystatus) case notreachable: 没有连接上 /do something break; case reachableviawifi: 通过 wifi 连接 /do s

25、omething break; case reachableviawwan: 通过 gprs 连接 /do something break; default: <span style=nwhite-space:pre"> </span>未矢h情况 /do something break;、获取当前信号的强弱这个貌似没有给出官方的api,但是网上有人说可以用私有的api实现,但是通不过appstore 的审核,方法如下: 利用linux下动态库显式调用api的函数。先包含头文件#import <dlfcn.h>(int)getsig nallevel

26、voidvoid*libha ndle=dlopen(,/system/library/frameworks/coreteleph on y.framework/coreteleph on y,l/rtld_lazy);/ /获収库句柄int (*ctgetsignalstrength)(); 定义一个与将要获収的函数匹配的函数指针 ctgetsignalstrength = (int(*)()dlsym(libhandle,"ctgetsignalstrength"); /获取指定名称的函数 if(ctgetsignalstrength = null) return ;e

27、lse int level = ctgetsignalstrength(); dlclose(libhandle); /切记关闭库 return level、设备震动需要加入 audiotoolbox framework,导入头文件 #import <audiotoolbox/audiotoolbox.h>在需要震动的地方添加代码:audioservicesplaysystemsound ( ksystemsoundld_vibrate);但是貌似这个不支持传入震动时间和模式,白己去控制吧。、获取电池的相关信息implementatio n battermonitor 获取电池当前

28、的状态,共有种状态 -(nsstring*) getbatterystate uidevice *device = uidevice currentdevice; if (device.batterystate = uidevicebatterystateu nknown) retur n ”u nkno w11; elseif(device.batterystate=uidevicebatterystateunplugged)returnhunplugged" elseif(device.batterystate=uidevicebatterystatecharging) retu

29、rn ,chargingu; else if (device.batterystate = uidevicebatterystatefull) return "full”; return nil; 获取电量的等级,-(float) getbatterylevel return uidevice currentdevicebatterylevel; (void) getbatterylnfo nsstring * state = getbatterystate); float level = getbatterylevel()*.; /yourcontrolfunc(state, le

30、vel); /写自己要实现的获収电量信息后怎么处理 打开对电量和电池状态的监控,类似 定时器的功能-(void) didload uidevice currentdevice setbatterymonitoringenable:yes; nsnotificati on center defaultce nter addobserver:self selector:selector(getbatterylnfo:) n ame:uidevicebatterystatedidcha ngenotificationobject: nil; nsnotificatio ncen terdefault

31、center addobserver:self www.hu nanwa ng.n etselector:selector(getbatterylnfo:) n ame:uidevicebatteryleveldidcha ngenotificationobject:nil;nstimerscheduledtimerwithtimelnterval:.f target:self selector:selector(getbatterylnfo:) userinfo:nil repeats:yes; end、app中打开一个网页这个比较简单,直接用提供的接口 openurl即可。nsstring *url = "ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论