通常在appDelegate的didFinishLaunchingWithOptions里調用
-?(BOOL)application:(UIApplication?*)application?didFinishLaunchingWithOptions:(NSDictionary?*)launchOptions {
NSString *userAgent = [NSString userAgentStr]; //獲取系統(tǒng)信息
比如// ?4.0.8.201611041630 (x86_64; iOS 10.1; Scale/2.00)
NSDictionary * dictionary =@{@"UserAgent": userAgent }; //User-Agent
[[NSUserDefaultsstandardUserDefaults] registerDefaults:dictionary];
returnYES;
}
registerDefaults方法調用時會check?NSUserDefaults里是否已經存在了相同的key,如果有則會把其覆蓋。舉個例子:
1. 當?shù)谝淮蝦un上面的app時烦却,"UserAgent"="userAgent"會寫入NSUserDefaults里
2.然后再次啟動你的app時诗舰,獲取最新的系統(tǒng)信息,
[[NSUserDefaults standardUserDefaults] setObject : userAgent forKey:@"UserAgent"];
這時NSUserDefaults里"UserAgent" 存儲的就是最新的系統(tǒng)信息冀膝。
這種做法通常的應用場景是:UIWebView
在http協(xié)議里,頭信息中有一個 User-Agent,它的作用是告訴服務器揍堕,用戶客戶端是什么瀏覽器,以及操作系統(tǒng)的信息的汤纸。在某些特殊的情況下衩茸,服務器根據(jù)瀏覽器的不同類型,輸出不同的內容贮泞。