Preference Specifiers

List of preference specifiers for Root.plist

Posted by Ivan on January 6, 2020

Specifiers

Root.plist is written in xml syntax, you’ll see that this is nothing but a simple array of dictionaries representing various specifiers. A very good list of them is reported on iPhoneDevWiki, but let’s see some of the most important ones.

This website detects the darkmode, and in particular this page allows you to see the various cells in light/dark mode just my switching your system dark mode (supported by iOS, macOS and Windows). Try it out!

Toggle the switch to watch the values as active:

Down here I’m going to report them in order of appearence in the screenshot.

RootListController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<plist version="1.0">
<dict>
  <key>items</key>
    <array>
      <dict>
        <key>cell</key>
        <string>CELL_TYPE</string>
        <key>PROPERTY</key>
        <string>VALUE</string>
      </dict>
    </array>
  <key>title</key>
  <string>Preference Specifiers</string>
</dict>
</plist>

PSGroupCell

Cells between PSGroupCells will be grouped. You can add Headers and Footers.

1
2
3
4
5
6
7
8
9
10
<dict>
  <key>cell</key>
  <string>PSGroupCell</string>
  <key>label</key>
  <string>Header</string>
  <key>footerText</key>
  <string>Footer</string>
  <key>footerAlignment</key>
  <integer>1</integer>
</dict>

PSSwitchCell

1
2
3
4
5
6
<dict>
  <key>cell</key>
  <string>PSSwitchCell</string>
  <key>label</key>
  <string>Switch</string>
</dict>

PSSpinnerCell

1
2
3
4
5
6
<dict>
  <key>cell</key>
  <string>PSSpinnerCell</string>
  <key>label</key>
  <string>Loading</string>
</dict>

PSSliderCell

1
2
3
4
5
6
<dict>
  <key>cell</key>
  <string>PSSliderCell</string>
  <key>showValue</key>
  <true/>
</dict>

PSButtonCell

1
2
3
4
5
6
<dict>
  <key>cell</key>
  <string>PSButtonCell</string>
  <key>label</key>
  <string>Button</string>
</dict>

PSSegmentCell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<dict>
  <key>cell</key>
  <string>PSSegmentCell</string>
  <key>label</key>
  <string>Button</string>
  <key>validTitles</key>
  <array>
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
    <string>Four</string>
    <string>Five</string>
    <string>Six</string>
  </array>
  <key>validValues</key>
  <array>
    <string>1</string>
    <string>2</string>
    <string>3</string>
    <string>4</string>
    <string>5</string>
    <string>6</string>
  </array>
</dict>

PSLinkListCell

It brings to an external view, showing the validTitles:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<dict>
  <key>cell</key>
  <string>PSLinkListCell</string>
  <key>label</key>
  <string>List</string>
  <key>validTitles</key>
  <array>
    <string>One</string>
    <string>Two</string>
    <string>Three</string>
    <string>Four</string>
    <string>Five</string>
    <string>Six</string>
  </array>
  <key>validValues</key>
  <array>
    <string>1</string>
    <string>2</string>
    <string>3</string>
    <string>4</string>
    <string>5</string>
    <string>6</string>
  </array>
</dict>

PSGiantCell

It brings to an external controller, in this case TPBRootListController.

1
2
3
4
5
6
7
8
<dict>
  <key>cell</key>
  <string>PSGiantCell</string>
  <key>label</key>
  <string>Giant Cell (external view)</string>
  <key>detail</key>
  <string>TPBRootListController</string>
</dict>

PSLinkCell

It brings to an external controller, in this case TPBRootListController.

1
2
3
4
5
6
7
<dict>
  <string>PSLinkCell</string>
  <key>label</key>
  <string>Link (external view)</string>
  <key>detail</key>
  <string>TPBRootListController</string>
</dict>

PSEditTextCell

1
2
3
4
5
6
7
8
<dict>
  <key>cell</key>
  <string>PSEditTextCell</string>
  <key>label</key>
  <string>TextEdit</string>
  <key>placeholder</key>
  <string>Default text</string>
</dict>

PSSecureEditTextCell

1
2
3
4
5
6
7
<dict>
  <string>PSSecureEditTextCell</string>
  <key>label</key>
  <string>Password</string>
  <key>placeholder</key>
  <string>Dots will appear</string>
</dict>

PSStaticTextCell

1
2
3
4
5
6
<dict>
  <key>cell</key>
  <string>PSStaticTextCell</string>
  <key>label</key>
  <string>Static text</string>
</dict>

// Devices.css by github.com/picturepan2