這裏記錄兩個iOS開發中常常用到的知識點,一個是惟一標識,一個是全局變量。git
惟一標識一臺設備(好比iPhone、iPad等)是一個基本的實現與業務上的需求,由於這個惟一標識在許多場景都須要使用到,好比用來統計(日活、總用戶數等),再好比用做默認的帳號,等等。github
udid,曾經是惟一標識的首選,好比這樣取得:函數
NSString *UDID = [[UIDevice currentDevice] uniqueIdentifier];atom
可是,udid已經被蘋果拒絕使用,因此這個不是小程的選擇。一樣,mac地址,也是被蘋果封殺的。spa
其它的辦法,好比IDFA、IDFV、UUID,都有各自的缺陷,但並不意味不能使用–能夠組合起來,並結合keychain來使用,從而儘量規避出現的缺陷。設計
這樣的方案已經有人實現,好比這個項目:
https://github.com/herody/UQIDDemo開發
引用以上這個項目UQID目錄的文件,便可獲取設備的惟一標識,好比這樣使用:同步
爲了便利與信息同步,項目中常常須要使用一些全局變量。源碼
全局變量的設計,通常有兩個辦法。qt
辦法一,在AppDelegate.h中定義全局變量,也就是在類AppDelegate中增長全局變量,好比:
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, assign)BOOL firstrun;
而後,在任何地方,均可以訪問AppDelegate,好比:
AppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
myDelegate.firstrun = YES;
辦法二,使用新的文件,定義一個單例的類,好比在globalvar.h中這樣定義:
在globalvar.m中這樣定義:
以後,就能夠在任何地方使用這些全局變量–經過單例函數來使用便可,好比這樣:
感謝各位的關注,後面我會把IOS客戶端源碼、API源碼呈獻給你們,完整的示例你們能夠暫時到AppStore下載安裝「知音」。