需求背景: 在开发测试发布过程中,经常用到需要切换请求链接等需求。即:测试、预发布、发布环境链接不一样,如果我们在项目里配置,每次打包很是不方便。 这时候 Settings.bundle 就要上场了。点开设置直接切换环境。
步骤:
1.创建Root.plist 文件。

2.创建Root.plist 文件之后,项目里会自动生成这个文件。系统也给出了几个默认的设置。

运行之后的效果:

具体每个设置代表的含义:

3.自定义你想要设置的值

系统给出特定的种类,直接选择即可

设置好的举例

4.Multi 设置需要稍微注意下:

效果图:


5.取值
用[NSUserDefaults standardUserDefaults]
进行取值即可。key就是你设置的那个Identifier
的值。 更明显显示key,空白处鼠标右键,选择Show Row Keys/Values
即可

取值举例:
NSString *name = [[NSUserDefaults standardUserDefaults] objectForKey:@"personal_name_key"];
NSLog(@"Setting Default Name = %@", name);
后记:特别注意:
如果运行应用后直接直接通过上面的代码获取信息,你会得到null;原因是:
root.plist实际上只是一个静态文件用来在设置里显示;只有当你对它进行修改,它才会往NSUserDefaults里添加。修改配置后,NSUserDefaults的优先级高于root.plist文件。
网友评论