iOS 多环境配置

target | setting.bundle | plist

Posted by Genie on April 24, 2019

在app里面做多环境配置,是当下app需要的,主要分几种方式:

  1. plist 文件里面配置,然后读取,每次修改plist 相关key值
  2. 多target,这个比较灵活,目前大多数app都是这样做的
  3. 通过创建setting.bundle(application preference)来实现

target

通过添加多个configration,及duplicatetarget 来实现,需要注意的是swift 和 oc 环境配置有些差别。目前做的大多数都是这样实现的

相关参考

setting.bunlde

在几年前我们就是用这样的方式来实现的,不需要每次切环境都去打包,而是在设置里面去勾选相关的环境配置就可以了,比较喜欢这样的方式。Settings 对一个app的某些属性进行设置,反过来,在app中更改了一些属性值,也会反应到Settings中,这个功能很常用,实现起来也相对简单,但是内容还是比较多的。

也可以通过buddy,xcode环境下自带的工具,对plist操作

PlistBuddy简单使用

Settings.Bundle支持六种配置项分别是:Title,MultiValue,Group,Slider,ToggleSwitch,TextField 。

  1. Group – 编组。键为PSGroupSpecifier,首选项逻辑编组的标题。
  2. Text Field – 文本框。键为PSTextFieldSpecifier,可编辑的文本字符串。
  3. Title – 标题。键为PSTitleValueSpecifier,只读文本字符串。
  4. Toggle Switch – 开关。键为PSToggleSwitchSpecifier,开关按钮。
  5. Slide – 滑块。键为PSSliderSpecifier,取值位于特定范围内的滑块。
  6. Multivalue – 多值。键为PSMultiValueSpecifier,下拉式列表。
  7. 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的文件名。

 
demo

有问题可以联系Email