RegisterDefaults 的用法

通常在appDelegate的didFinishLaunchingWithOptions里调用

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

NSString *userAgent = [NSString userAgentStr]; //获取系统信息

比如//  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. 当第一次run上面的app时,"UserAgent"="userAgent"会写入NSUserDefaults里

2.然后再次启动你的app时,获取最新的系统信息,

[[NSUserDefaults standardUserDefaults] setObject : userAgent forKey:@"UserAgent"];

这时NSUserDefaults里"UserAgent" 存储的就是最新的系统信息。

这种做法通常的应用场景是:UIWebView

在http协议里,头信息中有一个 User-Agent,它的作用是告诉服务器,用户客户端是什么浏览器,以及操作系统的信息的。在某些特殊的情况下,服务器根据浏览器的不同类型,输出不同的内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容