成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS SDK使用指南:利用UIDevice及NSLocale訪問設備數據

譯文
移動開發 iOS
本篇教程演示了如何訪問關鍵性iOS設備及用戶信息,包括設備型號、iOS版本號及用戶語言選擇等。在診斷應用程序問題或者為用戶提供定制型服務時,這些信息可能起到至關重要的作用,本文將帶大家了解如何讓自己的應用獲取此類關鍵數據。

教程說明

  • 使用工具: iOS SDK

  • 執行難度: 普通

  • 操作時間: 15 到30分鐘

設備數據的重要性

首先要明確一個問題:為什么我們需要訪問設備數據?

[[89416]]如果在使用中遇到問題,移動應用用戶往往會通過電子郵件將自己的遭遇或者求助信息發送給開發人員。在這種情況下,郵件內容越翔實、信息量越大、對于設備及系統環境的描述越具體,開發人員也就越容易給出科學的處理方案。舉例來說,如果大家的應用程序需要接入互聯網方能運行,而用戶在徒步旅行途中發來郵件稱應用無法正常工作,那么結論就變得非常清晰:用戶無法通過熱點接入互聯網,因此應用沒能順利啟動。另外,了解用戶使用的iOS版本、應用程序版本以及國家、語言設定也很有幫助,這能讓開發人員很快弄清使用者的設備狀況,進而簡化應用問題的診斷流程。

除了前面提到的bug診斷與問題追蹤,通過UIDevice或者NSLocale訪問信息還能有效改善應用程序的界面(例如根據用戶所在地自動設定不同風格的界面)外觀及實際表現。

了解UIDevice 類

大家與UIDevice類的初次會面可能來自移動設備的定向功能,不過除此之外,UIDevice還提供了多種其它屬性、類函數及通告模式,幫助我們全方位了解設備狀況。從檢測電池電量到定位設備與用戶面部的距離,UIDevice所做的工作就是為應用程序提供用戶及設備的一切信息。UIDevice類還能夠收集關于設備的各種具體細節,例如機型及iOS版本等。在接下來的教程中,大家會發現其中大部分屬性都對開發工作具有積極的輔助作用。

了解 NSLocale 類

NSLocale類幫助我們的應用根據用戶所在地的文化與語言習慣提供最令人滿意的服務效果。通過及時調整貨幣類型、小數點分隔符、時間及日期格式等,應用程序能夠為用戶帶來超出預期的智能工作效果,而這一切都是成功軟件必須考慮的人文因素。另外,NSLocale還能夠用于用戶所在的地理位置,當用戶聯系開發者尋求幫助時,所在地也是很重要的支持信息之一。

獲取設備信息

我們先從獲取設備機型(檢測iPhone、iPodTouch及iPad)與iOS版本入手。下列代碼可通過UIDevice獲取到設備的具體型號。

  1. UIDevice *currentDevice = [UIDevice currentDevice]; 
  2. NSString *model = [currentDevice model]; 
  3. NSString *systemVersion = [currentDevice systemVersion]; 

在***行中,UIDevice會返回用戶設備的實時運行狀態實例。以此為基礎,我們能夠訪問機型及系統版本等屬性信息,進而掌握這類最關鍵的設備數據。

獲取用戶語言種類

接下來,我們嘗試檢索用戶的語言種類及所在地設置信息。

  1. NSArray *languageArray = [NSLocale preferredLanguages]; 
  2. NSString *language = [languageArray objectAtIndex:0]; 
  3. NSLocale *locale = [NSLocale currentLocale]; 
  4. NSString *country = [locale localeIdentifier]; 

想獲得用戶的***語言,我們需要使用NSLocale中的prefferedLanguages類函數,它能夠返回用戶當前語言設定中的信息。而用戶的當前位置或者所在國家、地區信息則通過NSLocale對象獲取。在實例中,類函數localeIdentifier會返回一條特定代碼,其中包含用戶所在國家/地區信息。

獲取應用程序版本信息

***,讓我們看看用戶正在使用的應用程序是哪個版本。

  1. NSString *appVersion = [[NSBundle mainBundle] 
  2. objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey]; 

應用程序中的info.plist文件保存著當前應用版本信息,只要利用kCFBundleVersionKey對mainBundle進行訪問,即可返回正確的應用程序版本結果。

記錄設備數據

接下來,我們要將收集到的設備數據匯總并記錄。

  1. NSString *deviceSpecs = 
  2.     [NSString stringWithFormat:@"%@ - %@ - %@ - %@ - %@"
  3.     model, systemVersion, language, country, appVersion]; 
  4.   
  5. NSLog(@"Device Specs --> %@",deviceSpecs); 

在上述代碼實例中,每一條信息都被打包成字符串,這樣便于直接顯示在控制臺上。在實例應用中,大家可能希望這些信息以標題或文本內容的形式顯示在反饋郵件中。

總結

在與應用程序用戶的交流當中,開發人員掌握的設備信息越多、越具體,提出解決方案也就變得越容易。用戶的技術水平參差不齊,因此常常難以準確表述自己所遇到的麻煩。通過詳細了解他們的設備狀況,開發人員能夠更好地幫助他們解決問題,借而為用戶提供更好的服務與產品使用樂趣。除了文章開頭所談到的理由,事實上訪問設備數據也能幫助我們更好地協調同一套系統環境下多款應用之間的相互作用。大家有什么問題或者建議,不妨在評論欄中與其他讀者朋友分享。

原文鏈接:

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-accessing-device-data-with-uidevice-and-nslocale/

責任編輯:佚名 來源: 51CTO.com
相關推薦

2013-04-12 02:54:04

微信開放平臺iOS

2013-04-12 03:15:34

微信開放平臺Android

2022-09-29 09:07:08

DataGrip數據倉庫數據庫

2012-12-26 12:41:14

Android開發WebView

2011-07-21 14:57:34

jQuery Mobi

2009-12-28 17:40:10

WPF TextBox

2021-07-27 10:09:27

鴻蒙HarmonyOS應用

2010-09-06 14:24:28

ppp authent

2009-12-31 17:17:45

Silverlight

2021-01-12 15:19:23

Kubernetes

2025-07-02 09:00:24

ES運維JSON

2011-06-20 13:06:58

2017-01-04 15:22:57

TrimPath模板引擎

2010-08-04 15:37:31

Flex圖表

2010-08-05 15:40:21

FlexBuilder

2010-06-03 17:27:36

Hadoop命令

2010-08-04 14:28:01

Flex組件

2024-02-04 00:00:00

Loki性能查詢

2019-11-13 12:39:26

Python 開發編程語言

2022-06-23 08:01:36

FlaskSocketIOSwift
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品一区二区 | 久久国产精品一区二区三区 | 久久中文网 | 一级做a爰片久久毛片免费看 | 青青草原精品99久久精品66 | 日日碰狠狠躁久久躁96avv | 韩日一区二区三区 | 免费国产视频 | 亚洲劲爆av | 日韩精品视频在线 | 一级做a爰片久久毛片 | 日韩av在线一区 | 欧美在线国产精品 | 色婷婷在线视频 | 亚洲国产二区 | 久久久久久久久久影视 | 久久99久久98精品免观看软件 | 免费v片在线观看 | 黑人巨大精品欧美一区二区免费 | 91精品国产综合久久香蕉922 | 亚洲男人的天堂网站 | 中文字幕在线观看第一页 | 欧美一级电影免费观看 | 国产成人午夜电影网 | 亚洲一区欧美一区 | 激情久久av一区av二区av三区 | 无码日韩精品一区二区免费 | 久久电影一区 | 中文天堂在线一区 | 特黄色一级毛片 | 亚洲在线免费观看 | 亚洲精品大片 | 国产资源在线播放 | 欧美极品在线 | www.4hu影院| 天堂一区二区三区 | 在线a视频网站 | 精品三区| 国产人成在线观看 | 久久精品一区二区三区四区 | 免费观看一级视频 |