iOS的API分為四種:
PublishedAPI(公開的API)(或者Documented API)
還有兩類:私有API:PrivateAPI和未公開API:UnPublished API(或者UndocumentedAPI)。
私有API是指放在PrivateFrameworks框架中的API,未公開的API是指雖然放在Frameworks框架中,但是卻沒有在蘋果的官方文檔中有使用說明、代碼介紹等記錄的API。
按蘋果的說法,未公開的API是還不夠成熟,可能還會(huì)變動(dòng)的API,等完全成型了后會(huì)變成公開的API,但是目前不對(duì)其提供承諾,就是系統(tǒng)版本升級(jí)后可能會(huì)失效。而私有API是蘋果明確不能使用的API。雖然兩者有所區(qū)別,但是在具體使用方法上是類似的。
私有API會(huì)面臨審核通不過然后不能上線,但是也有使用私有API通過審核的比如谷歌的“GoogleVoice”,所以具體審核的詳情不得而知。
使用私有API——CoreTelephony獲取本機(jī)號(hào)碼
步驟如下:
1)導(dǎo)入CoreTelephony這個(gè)private framework
2)在xxx.m中加入紅字部分:
#import "xxx.h"
extern NSString*CTSettingCopyMyPhoneNumber();
@implementation
+(NSString *)myNumber{
return CTSettingCopyMyPhoneNumber();
}
@end
3)在其它地方調(diào)用NSLog(@"myNumber=%@",[xxxmyNumber]);即是本機(jī)號(hào)碼
另外機(jī)子的唯一標(biāo)識(shí)碼等一些信息可以用[UIDevice currentDevice]的uniqueIdentifier,name等屬性來獲取