日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取手机信息(UIDevice、NSBundle、NSLocale)

發布時間:2023/12/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取手机信息(UIDevice、NSBundle、NSLocale) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?iOS的APP的應用開發的過程中,有時為了bug跟蹤或者獲取用反饋的需要自動收集用戶設備、系統信息、應用信息等等,這些信息方便開發者診斷問題,當然這些信息是用戶的非隱私信息,是通過開發api可以獲取到的。那么通過那些api可以獲取這些信息呢,iOS的SDK中提供了UIDevice, NSBundle, NSLocale。

UIDevice

? ? ? ?UIDevice提供了多種屬性、類函數及狀態通知,幫助我們全方位了解設備狀況。從檢測電池電量到定位設備與臨近感應,UIDevice所做的工作就是為應用程序提供用戶及設備的一些信息。UIDevice類還能夠收集關于設備的各種具體細節,例如機型及iOS版本等。其中大部分屬性都對開發工作具有積極的輔助作用。下面的代碼簡單的使用UIDevice獲取手機屬性。

[cpp] view plaincopyprint?
  • //設備相關信息的獲取??
  • ?NSString?*strName?=?[[UIDevice?currentDevice]?name];??
  • ?NSLog(@"設備名稱:%@",?strName);//e.g.?"My?iPhone"??
  • ???
  • ?NSString?*strId?=?[[UIDevice?currentDevice]?uniqueIdentifier];??
  • ?NSLog(@"設備唯一標識:%@",?strId);//UUID,5.0后不可用??
  • ???
  • ?NSString?*strSysName?=?[[UIDevice?currentDevice]?systemName];??
  • ?NSLog(@"系統名稱:%@",?strSysName);//?e.g.?@"iOS"??
  • ???
  • ?NSString?*strSysVersion?=?[[UIDevice?currentDevice]?systemVersion];??
  • ?NSLog(@"系統版本號:%@",?strSysVersion);//?e.g.?@"4.0"??
  • ???
  • ?NSString?*strModel?=?[[UIDevice?currentDevice]?model];??
  • ?NSLog(@"設備模式:%@",?strModel);//?e.g.?@"iPhone",?@"iPod?touch"??
  • ???
  • ?NSString?*strLocModel?=?[[UIDevice?currentDevice]?localizedModel];??
  • ?NSLog(@"本地設備模式:%@",?strLocModel);//?localized?version?of?model??

  • NSBundle

    ? ? bundle是一個目錄,其中包含了程序會使用到的資源. 這些資源包含了如圖像,聲音,編譯好的代碼,nib文件(用戶也會把bundle稱為plug-in). 對應bundle,cocoa提供了類NSBundle.一個應用程序看上去和其他文件沒有什么區別. 但是實際上它是一個包含了nib文件,編譯代碼,以及其他資源的目錄. 我們把這個目錄叫做程序的main bundle。通過這個路徑可以獲取到應用的信息,例如應用名、版本號等。

    [cpp] view plaincopyprint?
  • //app應用相關信息的獲取??
  • ????NSDictionary?*dicInfo?=?[[NSBundle?mainBundle]?infoDictionary];??
  • ????//????CFShow(dicInfo);??
  • ??????
  • ????NSString?*strAppName?=?[dicInfo?objectForKey:@"CFBundleDisplayName"];??
  • ????NSLog(@"App應用名稱:%@",?strAppName);??
  • ??????
  • ????NSString?*strAppVersion?=?[dicInfo?objectForKey:@"CFBundleShortVersionString"];??
  • ????NSLog(@"App應用版本:%@",?strAppVersion);??
  • ??????
  • ????NSString?*strAppBuild?=?[dicInfo?objectForKey:@"CFBundleVersion"];??
  • ????NSLog(@"App應用Build版本:%@",?strAppBuild);??

  • NSLocale

    ? ? ?NSLocale可以獲取用戶的本地化信息設置,例如貨幣類型,國家,語言,數字,日期格式的格式化,提供正確的地理位置顯示等等。下面的代碼獲取機器當前語言和國家代碼。
    [cpp] view plaincopyprint?
  • //Getting?the?User’s?Language??
  • ???NSArray?*languageArray?=?[NSLocale?preferredLanguages];??
  • ???NSString?*language?=?[languageArray?objectAtIndex:0];??
  • ???NSLog(@"語言:%@",?language);//en??
  • ?????
  • ???NSLocale?*locale?=?[NSLocale?currentLocale];??
  • ???NSString?*country?=?[locale?localeIdentifier];??
  • ???NSLog(@"國家:%@",?country);?//en_US?
  • 總結

    以上是生活随笔為你收集整理的获取手机信息(UIDevice、NSBundle、NSLocale)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。