-
Notifications
You must be signed in to change notification settings - Fork 150
/
com.github.profilecreator.exampleApplication.plist
471 lines (422 loc) · 18.6 KB
/
com.github.profilecreator.exampleApplication.plist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- *************************** OPTIONAL KEYS *************************** -->
<!-- All keys below this comment are only optional but help the user with more information about the payload. -->
<!-- This key should contain a URL to the download page of the application it's configuring. -->
<key>pfm_app_url</key>
<string>https://github.com/erikberglund/ProfileCreator/releases</string>
<!-- This key should contain a URL to the documentation of the keys this application supports. (And from where you have taken the information to create this manifest)-->
<key>pfm_documentation_url</key>
<string>https://github.com/erikberglund/ProfileManifests/wiki/Manifest-Format</string>
<!-- The scope where this payload is valid. -->
<!-- If this payload is only for iOS and tvOS this should be set to only system.-->
<!-- On macOS you include all scopes this payload is valid to install to. -->
<!-- If this is not included, it will default to system AND user.-->
<key>pfm_targets</key>
<array>
<string>system</string>
<string>user</string>
</array>
<!-- The platforms where this payload is valid. -->
<!-- If this is not included, it will default to only macOS. -->
<key>pfm_platforms</key>
<array>
<string>macOS</string>
</array>
<!-- *************************** REQUIRED KEYS *************************** -->
<!-- All keys below this comment are required for this manifest to be loaded by the framework. -->
<!-- A description of the payload. -->
<key>pfm_description</key>
<string>Example Application settings</string>
<!-- The preference domain of the payload. This should be the same as PayloadType in the pfm_subkeys.-->
<key>pfm_domain</key>
<string>com.github.ProfileManifests.exampleApplication</string>
<!-- The format version is used by the application to know it can support all manifest keys in this manifest. -->
<!-- Sometimes new keys are added, but those will not be supported by older versions of the application. -->
<!-- To avoid creating invalid payloads because of that, the app will not load manifests with newer format versions that it can support. -->
<!-- See this page for the current versions: https://github.com/erikberglund/ProfileManifests/wiki/Manifest-Format-Versions -->
<key>pfm_format_version</key>
<integer>1</integer>
<!-- Date the manifest was last modified. This is used for manifest collision. -->
<!-- Read more about that here: https://github.com/erikberglund/ProfileManifests/wiki/Manifest-Collision -->
<key>pfm_last_modified</key>
<date>2018-07-18T08:58:48Z</date>
<!-- This is the title of the manifest -->
<key>pfm_title</key>
<string>Example Application</string>
<!-- This determines if there can be more than one payload in the profile for this PayloadType. -->
<key>pfm_unique</key>
<false/>
<!-- This is the version number of this manifest, it's used to determine which manifest to load if two manifests with identical "pfm_domain" is found-->
<key>pfm_version</key>
<integer>1</integer>
<!-- This is an array of all keys this payload can configure. They will be shown in order. -->
<key>pfm_subkeys</key>
<array>
<!-- *************************** REQUIRED KEYS *************************** -->
<!-- Currently the "base" keys for each payload must be defined in each manifest -->
<!-- That is something I hope to move into the application and make the settings more simple. -->
<!-- But for now, these are required to create a valid payload on export. -->
<!-- PayloadDescription -->
<!-- Description for the payload shown when the payload is installed. -->
<dict>
<key>pfm_default</key>
<string>Configures Example Application configuration preferences</string> <!-- CHANGE THIS VALUE -->
<key>pfm_description</key>
<string>Description of the payload.</string>
<key>pfm_description_reference</key>
<string>Optional. A human-readable description of this payload. This description is shown on the Detail screen.</string>
<key>pfm_name</key>
<string>PayloadDescription</string>
<key>pfm_title</key>
<string>Payload Description</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- PayloadDisplayName -->
<!-- Display Name of the payload shown when the payload is installed. -->
<dict>
<key>pfm_default</key>
<string>Example Application</string> <!-- CHANGE THIS VALUE -->
<key>pfm_description</key>
<string>Name of the payload.</string>
<key>pfm_description_reference</key>
<string>A human-readable name for the profile payload. This name is displayed on the Detail screen. It does not have to be unique.</string>
<key>pfm_name</key>
<string>PayloadDisplayName</string>
<key>pfm_require</key>
<string>always</string>
<key>pfm_title</key>
<string>Payload Display Name</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- PayloadIdentifier -->
<!-- The base identifier this payload should use. This will then be expanded by the application to add the root identifier + the payload UUID to create a unique identifier automatically. -->
<dict>
<key>pfm_default</key>
<string>com.github.ProfileManifests.exampleApplication</string> <!-- CHANGE THIS VALUE TO THE SAME AS pfm_domain and PayloadType -->
<key>pfm_description</key>
<string>A unique identifier for the payload, dot-delimited. Usually root PayloadIdentifier+subidentifier</string>
<key>pfm_description_reference</key>
<string>A reverse-DNS-style identifier for the specific payload. It is usually the same identifier as the root-level PayloadIdentifier value with an additional component appended.</string>
<key>pfm_name</key>
<string>PayloadIdentifier</string>
<key>pfm_require</key>
<string>always</string>
<key>pfm_title</key>
<string>Payload Identifier</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- PayloadType -->
<!-- This is the PayloadType of the payload. -->
<dict>
<key>pfm_default</key>
<string>com.github.ProfileManifests.exampleApplication</string> <!-- CHANGE THIS VALUE TO THE SAME AS pfm_domain and PayloadIdentifier -->
<key>pfm_description</key>
<string>The type of the payload, a reverse dns string.</string>
<key>pfm_description_reference</key>
<string>The payload type.</string>
<key>pfm_name</key>
<string>PayloadType</string>
<key>pfm_require</key>
<string>always</string>
<key>pfm_title</key>
<string>Payload Type</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- PayloadUUID -->
<!-- This is the PayloadUUID and it will be generated automatically. You should NOT edit this. -->
<dict>
<key>pfm_description</key>
<string>Unique identifier for the payload (format 01234567-89AB-CDEF-0123-456789ABCDEF)</string>
<key>pfm_description_reference</key>
<string>A globally unique identifier for the payload. The actual content is unimportant, but it must be globally unique. In macOS, you can use uuidgen to generate reasonable UUIDs.</string>
<key>pfm_format</key>
<string>^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$</string>
<key>pfm_name</key>
<string>PayloadUUID</string>
<key>pfm_require</key>
<string>always</string>
<key>pfm_title</key>
<string>Payload UUID</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- PayloadVersion -->
<!-- This is the version of the payload. You should NOT edit this. -->
<dict>
<key>pfm_default</key>
<integer>1</integer>
<key>pfm_description</key>
<string>The version of the whole configuration profile.</string>
<key>pfm_description_reference</key>
<string>The version number of the individual payload.
A profile can consist of payloads with different version numbers. For example, changes to the VPN software in iOS might introduce a new payload version to support additional features, but Mail payload versions would not necessarily change in the same release.</string>
<key>pfm_name</key>
<string>PayloadVersion</string>
<key>pfm_require</key>
<string>always</string>
<key>pfm_title</key>
<string>Payload Version</string>
<key>pfm_type</key>
<string>integer</string>
</dict>
<!-- PayloadOrganization -->
<!-- This is the organization of the payload. You should NOT edit this. -->
<dict>
<key>pfm_description</key>
<string>This value describes the issuing organization of the profile, as displayed to the user</string>
<key>pfm_name</key>
<string>PayloadOrganization</string>
<key>pfm_title</key>
<string>Payload Organization</string>
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- *************************** APPLICATION KEYS *************************** -->
<!-- You should add all keys this payload can manage below this comment. -->
<!-- Example: Minimal Key -->
<!-- This is the minimal requirement for a key to be managed -->
<dict>
<!-- This is the key name that will be set as the key for the value in the exported profile. -->
<key>pfm_name</key>
<string>ExampleString</string>
<!-- Type determines what value type this key should be when it's exported to a profile. -->
<key>pfm_type</key>
<string>string</string>
</dict>
<!-- Example: Title -->
<!-- This example shows how to set a Title for the key, other than the key name itself. -->
<dict>
<key>pfm_name</key>
<string>ExampleTitle</string>
<key>pfm_type</key>
<string>string</string>
<!-- This is the title that will be displayed for the key. This value is only used when displaying the key in the UI. -->
<key>pfm_title</key>
<string>Example: Title</string>
</dict>
<!-- Example: Description -->
<!-- This example shows how to include descriptions -->
<dict>
<key>pfm_name</key>
<string>ExampleDescriptions</string>
<key>pfm_type</key>
<string>date</string>
<key>pfm_title</key>
<string>Example: Description</string>
<!-- This value will be used as the description shown below the Tile for the key. -->
<key>pfm_description</key>
<string>This is the description of the ExampleDescriptions key.</string>
<!-- If you have gotten the description form a reference source or documentation, that full exact description should be set to this key. -->
<!-- Currently this key is not shown in the ProfileCreator application but will be used for https://mosen.github.io/profiledocs/, and in a future version of ProfileCreator.-->
<!-- NOTE: It should be included, even if it's identical to the pfm_description key. -->
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
</dict>
<!-- Example: Required -->
<!-- This example shows a key to be required to be included in the exported profile -->
<dict>
<key>pfm_name</key>
<string>ExampleRequired</string>
<key>pfm_type</key>
<string>boolean</string>
<key>pfm_title</key>
<string>Example: Required</string>
<key>pfm_description</key>
<string>This is the description of the ExampleRequired key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- When this key should be required. "always" means that this key cannot be excluded when exporting the payload. -->
<!-- For more options for this key, see the documentation: https://github.com/erikberglund/ProfileManifests/wiki/Manifest-Format -->
<key>pfm_require</key>
<string>always</string>
</dict>
<!-- Example: Default Value -->
<!-- This example shows a key with a default value. -->
<dict>
<key>pfm_name</key>
<string>ExampleDefaultValue</string>
<key>pfm_type</key>
<string>string</string>
<key>pfm_title</key>
<string>Example: Default Value</string>
<key>pfm_description</key>
<string>This is the description of the ExampleDefaultValue key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This value will be automatically set as the value until the user changes it. -->
<key>pfm_default</key>
<string>Default Value</string>
</dict>
<!-- Example: Placeholder Value -->
<!-- This example shows a key with a placeholder value. -->
<dict>
<key>pfm_name</key>
<string>ExamplePlaceholderValue</string>
<key>pfm_type</key>
<string>string</string>
<key>pfm_title</key>
<string>Example: Placeholder Value</string>
<key>pfm_description</key>
<string>This is the description of the ExamplePlaceholderValue key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This value will be shown as the placeholder value when the TextField is empty. -->
<key>pfm_value_placeholder</key>
<string>Placeholder Value</string>
</dict>
<!-- PopUp Button Example: Integer -->
<!-- This example shows how to include a PopUp Button with names that will set integer values as the value to this key. -->
<dict>
<key>pfm_name</key>
<string>ExamplePopUpButtonInteger</string>
<key>pfm_type</key>
<string>integer</string>
<key>pfm_title</key>
<string>Example: Integer PopUp Button</string>
<key>pfm_description</key>
<string>This is the description of the ExamplePopUpButtonInteger key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This is the list of possible values to be set for this key. -->
<!-- NOTE: This list values MUST be of the same type as set in pfm_type -->
<key>pfm_range_list</key>
<array>
<integer>10</integer>
<integer>20</integer>
<integer>30</integer>
</array>
<!-- This is a list of the titles for each item in the pfm_range_list -->
<!-- NOTE: This list MUST be strings, and it MUST contain exactly the same number of items as the pfm_range_list -->
<key>pfm_range_list_titles</key>
<array>
<string>Ten</string>
<string>Twenty</string>
<string>Thirty</string>
</array>
</dict>
<!-- Example: Dictionary -->
<!-- This example shows how to define a dictionary -->
<dict>
<key>pfm_name</key>
<string>ExampleDictinoary</string>
<key>pfm_type</key>
<string>dictionary</string>
<key>pfm_title</key>
<string>Example: Dictionary</string>
<key>pfm_description</key>
<string>This is the description of the ExampleDictinoary key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This key defines the contents of the array. As this is an array, it should only include ONE (1) subkey, as the array should only contain a single type.-->
<key>pfm_subkeys</key>
<array>
<dict>
<key>pfm_name</key>
<string>ExampleDictionaryItemString</string>
<key>pfm_type</key>
<string>string</string>
<key>pfm_title</key>
<string>String</string>
<key>pfm_description</key>
<string>This is the description of the ExampleDictionaryItemString key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
</dict>
<dict>
<key>pfm_name</key>
<string>ExampleDictionaryItemBoolean</string>
<key>pfm_type</key>
<string>boolean</string>
<key>pfm_title</key>
<string>Boolean</string>
<key>pfm_description</key>
<string>This is the description of the ExampleDictionaryItemBoolean key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
</dict>
</array>
</dict>
<!-- Example: Array of Strings -->
<!-- This example shows how to define an array of strings -->
<dict>
<key>pfm_name</key>
<string>ExampleArrayStrings</string>
<key>pfm_type</key>
<string>array</string>
<key>pfm_title</key>
<string>Example: Array of Strings</string>
<key>pfm_description</key>
<string>This is the description of the ExampleArrayStrings key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This key defines the contents of the array. As this is an array, it should only include ONE (1) subkey, as the array should only contain a single type.-->
<key>pfm_subkeys</key>
<array>
<dict>
<!-- For Array Subkeys, the pfm_type is the ONLY required key, because the array will only contain the value and no key. -->
<key>pfm_type</key>
<string>string</string>
</dict>
</array>
</dict>
<!-- Example: Array of Dictionaries -->
<!-- This example shows how to define an array of dictionaries -->
<dict>
<key>pfm_name</key>
<string>ExampleArrayDictionaries</string>
<key>pfm_type</key>
<string>array</string>
<key>pfm_title</key>
<string>Example: Array of Dictionaries</string>
<key>pfm_description</key>
<string>This is the description of the ExampleArrayDictionaries key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
<!-- This key defines the contents of the array. As this is an array, it should only include ONE (1) subkey, as the array should only contain a single type.-->
<key>pfm_subkeys</key>
<array>
<dict>
<key>pfm_type</key>
<string>dictionary</string>
<!-- The dictionary subkeys is like any other pfm_subkey and should contain all keys the dictionary can configure. -->
<!-- Remember to set pfm_required wherever that is needed. -->
<key>pfm_subkeys</key>
<array>
<dict>
<key>pfm_name</key>
<string>ExampleArrayItemString</string>
<key>pfm_type</key>
<string>string</string>
<key>pfm_title</key>
<string>String</string>
<key>pfm_description</key>
<string>This is the description of the ExampleArrayItemString key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
</dict>
<dict>
<key>pfm_name</key>
<string>ExampleArrayItemBoolean</string>
<key>pfm_type</key>
<string>boolean</string>
<key>pfm_title</key>
<string>Boolean</string>
<key>pfm_description</key>
<string>This is the description of the ExampleArrayItemBoolean key.</string>
<key>pfm_description_reference</key>
<string>Optional. This is the original documentation's description</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
</plist>