iOS獲取iPhone各種資訊

2021-08-03 01:43:04 字數 3652 閱讀 5728

在次之前,補充個內容。uidevice是無法獲得具體的裝置型號的。

要獲得裝置型號,比如(iphone 4s, iphone5)這樣的,要通過這樣的辦法。

1.引入標頭檔案。

#include 

#include 

2.獲取型號

//手機型號。

size_t size;

sysctlbyname("hw.machine", null, &size, null, 0);

char *machine = (char*)malloc(size);

sysctlbyname("hw.machine", machine, &size, null, 0);

nsstring

*platform = [

nsstring

stringwithcstring:machine encoding:nsutf8stringencoding];

這裡得到的

platform是個裝置型號。  比如iphone5,2.

所以如果想更完美點,可以自己根據字串判斷。

比如:if ([platform isequaltostring:@"iphone3,1"])    return @"iphone 4";

uidevice提供了多

種屬性、類函式及狀態通知,幫助我們全方位了解裝置狀況。從檢測電池電量到定位裝置與臨近感應,uidevice所做的工作就是為應用程式提供使用者及裝置的一些資訊。uidevice類還能夠收集關於裝置的各種具體細節,例如機型及ios版本等。其中大部分屬性都對開發工作具有積極的輔助作用。下面的**簡單的使用uidevice獲取手機屬性。

[cpp]view plain

copy

//    [[uidevice currentdevice] systemname]; // 系統名

//    [[uidevice currentdevice] systemversion]; //版本號

//    [[uidevice currentdevice] model]; //型別,模擬器,真機

//    [[uidevice currentdevice] uniqueidentifier]; //唯一識別碼

//    [[uidevice currentdevice] name]; //裝置名稱

//    [[uidevice currentdevice] localizedmodel]; // 本地模式

//裝置相關資訊的獲取

nsstring *strname = [[uidevice currentdevice] name];  

nslog(@"裝置名稱:%@"

, strname);

"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 //地方型號  (國際化區域名稱)

nsstring* phonemodel = [[uidevice currentdevice] model];  

nslog(@"手機型號: %@"

,phonemodel );   

//手機型號

bundle是乙個目錄,其中包含了程式會使用到的資源. 這些資源包含了如影象,聲音,編譯好的**,nib檔案(使用者也會把bundle稱為plug-in). 對應bundle,cocoa提供了類nsbundle.乙個應用程式看上去和其他檔案沒有什麼區別. 但是實際上它是乙個包含了nib檔案,編譯**,以及其他資源的目錄. 我們把這個目錄叫做程式的main bundle。通過這個路徑可以獲取到應用的資訊,例如應用名、版本號等。

[cpp]view plain

copy

nsdictionary *dicinfo = [[nsbundle mainbundle] infodictionary];  

// cfshow(dicinfo);

];  

// 當前應用名稱

];  

// 當前應用軟體版本  比如:1.0.1  

];  

// 當前應用版本號碼   int型別

nslocale可以獲取使用者的本地化資訊設定,例如貨幣型別,國家,語言,數字,日期格式的格式化,提供正確的地理位置顯示等等。下面的**獲取機器當前語言和國家**。

[cpp]view plain

copy

//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

具體的可以自己移植到真機去試試。

下面是傳送郵件**:

[cpp]view plain

copy

//選中傳送郵件形式

if(buttonindex == 0)  

else

}  下面是執行截圖。

iOS各種裝置資訊獲取總結

這個方法後面會列出來 nsstring devicename self getdevicename nslog 裝置型號 devicename nsstring iphonename uidevice currentdevice name nslog iphone名稱 iphonename cgfl...

史上最全的iOS各種裝置資訊獲取總結

github 這個方法後面會列出來 nsstring devicename selfgetdevicename nslog 裝置型號 devicename nsstring iphonename uidevicecurrentdevice name nslog iphone名稱 iphonename...

獲取iPhone通訊錄資訊

iphone中聯絡人的資訊是存放在系統資料庫中的。資料庫中的每一筆記錄都是乙個abrecordref例項。通訊錄主要存放兩種記錄 1 聯絡人的資訊 是abperson型別。主要包括聯絡人的姓名,號碼,位址資訊。2 分組資訊 是abgroup型別。用於將聯絡人分到不同的組中。它只有乙個屬性,表示分組名...