在app里面做多环境配置,是当下app需要的,主要分几种方式:
- plist 文件里面配置,然后读取,每次修改plist 相关key值
- 多target,这个比较灵活,目前大多数app都是这样做的
- 通过创建setting.bundle(application preference)来实现
target
通过添加多个configration,及duplicatetarget 来实现,需要注意的是swift 和 oc 环境配置有些差别。目前做的大多数都是这样实现的
setting.bunlde
在几年前我们就是用这样的方式来实现的,不需要每次切环境都去打包,而是在设置里面去勾选相关的环境配置就可以了,比较喜欢这样的方式。Settings 对一个app的某些属性进行设置,反过来,在app中更改了一些属性值,也会反应到Settings中,这个功能很常用,实现起来也相对简单,但是内容还是比较多的。
也可以通过buddy,xcode环境下自带的工具,对plist操作
Settings.Bundle支持六种配置项分别是:Title,MultiValue,Group,Slider,ToggleSwitch,TextField 。
- Group – 编组。键为PSGroupSpecifier,首选项逻辑编组的标题。
- Text Field – 文本框。键为PSTextFieldSpecifier,可编辑的文本字符串。
- Title – 标题。键为PSTitleValueSpecifier,只读文本字符串。
- Toggle Switch – 开关。键为PSToggleSwitchSpecifier,开关按钮。
- Slide – 滑块。键为PSSliderSpecifier,取值位于特定范围内的滑块。
- Multivalue – 多值。键为PSMultiValueSpecifier,下拉式列表。
- Child Pane – 子窗格。键为PSChildPaneSpecifier,子首选项页。
###Group Group类似于UITableView中的Group分组,用来表示一组设置项
Title:表示分组的显示标题
Type:默认是Group
FooterText:Group的底部显示的文字内容
###Text Field
Text Field is Secure – 是否为安全文本。如果设置为YES,则内容以圆点符号出现。
Autocapitalization Style – 自动大写。有四个值: None(无)、Sentences(句子首字母大写)、Words(单词首字母大写)、All Characters(所有字母大写)。
Autocorrection Style – 自动纠正拼写,如果开启,你输入一个不存在的单词,系统会划红线提示。有三个值:Default(默认)、No Autocorrection(不自动纠正)、Autocorrection(自动纠正)。
Keyboard Type – 键盘样式。有五个值:Alphabet(字母表,默认)、Numbers and Punctuation(数字和标点符号)、Number Pad(数字面板)、URL(比Alphabet多出了.com等域名后缀)、Email Address(比Alphabet多出了@符合)。
###Toggle Switch
Value for ON – 当开关置为ON时,取得的字符串值。
Value for OFF – 当开关置为OFF时,取得的字符串值。
###Slider
Minimum Value – 最小值,Number类型。
Maximum Value – 最大值,Number类型。
Min Value Image Filename – 最小值那一端的图片。
Max Value Image Filename – 最大值那一端的图片。
P.s.图片大小必须为21*21,并且要放在Settings.bundle包内(在Finder里显示包内容,然后粘贴)。
###Multivalue
Values – 值的集合。
Titles – 标题的集合,与值一一对应。
###Child Pane
Filename – 子plist的文件名。
有问题可以联系Email