@maccesar/titools 2.10.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/AGENTS-VERCEL-RESEARCH.md +23 -12
  2. package/README.md +81 -182
  3. package/agents/ti-pro.md +8 -14
  4. package/lib/cleanup.js +13 -0
  5. package/lib/commands/skills.js +2 -1
  6. package/lib/config.js +9 -11
  7. package/lib/platform.js +1 -1
  8. package/package.json +2 -3
  9. package/skills/alloy-guides/SKILL.md +0 -190
  10. package/skills/alloy-guides/references/CLI_TASKS.md +0 -233
  11. package/skills/alloy-guides/references/CONCEPTS.md +0 -171
  12. package/skills/alloy-guides/references/CONTROLLERS.md +0 -279
  13. package/skills/alloy-guides/references/MODELS.md +0 -1214
  14. package/skills/alloy-guides/references/PURGETSS.md +0 -46
  15. package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +0 -235
  16. package/skills/alloy-guides/references/VIEWS_STYLES.md +0 -375
  17. package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
  18. package/skills/alloy-guides/references/VIEWS_XML.md +0 -581
  19. package/skills/alloy-guides/references/WIDGETS.md +0 -160
  20. package/skills/alloy-howtos/SKILL.md +0 -181
  21. package/skills/alloy-howtos/references/best_practices.md +0 -121
  22. package/skills/alloy-howtos/references/cli_reference.md +0 -230
  23. package/skills/alloy-howtos/references/config_files.md +0 -158
  24. package/skills/alloy-howtos/references/custom_tags.md +0 -148
  25. package/skills/alloy-howtos/references/debugging_troubleshooting.md +0 -78
  26. package/skills/alloy-howtos/references/samples.md +0 -156
  27. package/skills/ti-api/SKILL.md +0 -109
  28. package/skills/ti-api/references/api-android.md +0 -675
  29. package/skills/ti-api/references/api-app-platform.md +0 -636
  30. package/skills/ti-api/references/api-core.md +0 -764
  31. package/skills/ti-api/references/api-data-network.md +0 -641
  32. package/skills/ti-api/references/api-media.md +0 -655
  33. package/skills/ti-api/references/api-modules-ble-bluetooth.md +0 -657
  34. package/skills/ti-api/references/api-modules-coremotion-urlsession.md +0 -411
  35. package/skills/ti-api/references/api-modules-map.md +0 -632
  36. package/skills/ti-api/references/api-modules-nfc.md +0 -725
  37. package/skills/ti-api/references/api-modules-social-misc.md +0 -526
  38. package/skills/ti-api/references/api-services.md +0 -700
  39. package/skills/ti-api/references/api-ui-android.md +0 -499
  40. package/skills/ti-api/references/api-ui-extras.md +0 -702
  41. package/skills/ti-api/references/api-ui-ios-animator.md +0 -378
  42. package/skills/ti-api/references/api-ui-ios.md +0 -756
  43. package/skills/ti-api/references/api-ui-lists.md +0 -581
  44. package/skills/ti-api/references/api-ui-text-input.md +0 -607
  45. package/skills/ti-api/references/api-ui-views.md +0 -572
  46. package/skills/ti-api/references/api-ui-windows-navigation.md +0 -676
  47. package/skills/ti-api/references/api-xml-global.md +0 -743
  48. package/skills/ti-guides/SKILL.md +0 -75
  49. package/skills/ti-guides/references/advanced-data-and-images.md +0 -155
  50. package/skills/ti-guides/references/android-manifest.md +0 -97
  51. package/skills/ti-guides/references/app-distribution.md +0 -373
  52. package/skills/ti-guides/references/application-frameworks.md +0 -366
  53. package/skills/ti-guides/references/cli-reference.md +0 -700
  54. package/skills/ti-guides/references/coding-best-practices.md +0 -150
  55. package/skills/ti-guides/references/commonjs-advanced.md +0 -279
  56. package/skills/ti-guides/references/hello-world.md +0 -99
  57. package/skills/ti-guides/references/hyperloop-native-access.md +0 -458
  58. package/skills/ti-guides/references/javascript-primer.md +0 -402
  59. package/skills/ti-guides/references/reserved-words.md +0 -36
  60. package/skills/ti-guides/references/resources.md +0 -172
  61. package/skills/ti-guides/references/style-and-conventions.md +0 -104
  62. package/skills/ti-guides/references/tiapp-config.md +0 -655
  63. package/skills/ti-howtos/SKILL.md +0 -143
  64. package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -609
  65. package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
  66. package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
  67. package/skills/ti-howtos/references/cross-platform-development.md +0 -358
  68. package/skills/ti-howtos/references/debugging-profiling.md +0 -473
  69. package/skills/ti-howtos/references/extending-titanium.md +0 -684
  70. package/skills/ti-howtos/references/google-maps-v2.md +0 -172
  71. package/skills/ti-howtos/references/ios-map-kit.md +0 -149
  72. package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -595
  73. package/skills/ti-howtos/references/local-data-sources.md +0 -310
  74. package/skills/ti-howtos/references/location-and-maps.md +0 -267
  75. package/skills/ti-howtos/references/media-apis.md +0 -268
  76. package/skills/ti-howtos/references/notification-services.md +0 -539
  77. package/skills/ti-howtos/references/remote-data-sources.md +0 -339
  78. package/skills/ti-howtos/references/tutorials.md +0 -552
  79. package/skills/ti-howtos/references/using-modules.md +0 -182
  80. package/skills/ti-howtos/references/web-content-integration.md +0 -288
  81. package/skills/ti-howtos/references/webpack-build-pipeline.md +0 -125
@@ -1,655 +0,0 @@
1
- # tiapp.xml and timodule.xml configuration
2
-
3
- Reference for Titanium app configuration files. `tiapp.xml` is the main config file for Titanium apps. `timodule.xml` is for custom modules.
4
-
5
- ## tiapp.xml structure
6
-
7
- ```xml
8
- <ti:app xmlns:ti="http://ti.tidev.io">
9
- <id>com.titaniumsdk.helloWorld</id>
10
- <name>helloWorld</name>
11
- <version>1.0.1</version>
12
- <icon>appicon.png</icon>
13
- <fullscreen>false</fullscreen>
14
- <navbar-hidden>false</navbar-hidden>
15
- <analytics>false</analytics>
16
- <guid>GUID</guid>
17
- <ios>
18
- <plist>
19
- <dict>
20
- <key>UISupportedInterfaceOrientations~iphone</key>
21
- <array>
22
- <string>UIInterfaceOrientationPortrait</string>
23
- </array>
24
- <key>UISupportedInterfaceOrientations~ipad</key>
25
- <array>
26
- <string>UIInterfaceOrientationPortrait</string>
27
- <string>UIInterfaceOrientationPortraitUpsideDown</string>
28
- <string>UIInterfaceOrientationLandscapeLeft</string>
29
- <string>UIInterfaceOrientationLandscapeRight</string>
30
- </array>
31
- </dict>
32
- </plist>
33
- </ios>
34
- <android xmlns:android="http://schemas.android.com/apk/res/android">
35
- <tool-api-level>10</tool-api-level>
36
- <abi>all</abi>
37
- </android>
38
- <modules/>
39
- </ti:app>
40
- ```
41
-
42
- tiapp.xml properties are encrypted when building for production.
43
-
44
- ---
45
-
46
- ## Top-level elements
47
-
48
- ### Required elements
49
-
50
- #### `<guid>`
51
-
52
- Required. Unique ID generated by the CLI. Do not modify unless you know why.
53
-
54
- #### `<id>`
55
-
56
- Required. Application ID.
57
-
58
- - Android: package ID following Java package naming standards
59
- - iOS: must match Bundle ID from Apple Developer Portal
60
-
61
- ```xml
62
- <id>com.mycompany.fakeblock</id>
63
- ```
64
-
65
- #### `<name>`
66
-
67
- Required. Application name shown under the icon on device.
68
-
69
- ```xml
70
- <name>Fakeblock</name>
71
- ```
72
-
73
- Android warning: if the name starts with a digit, prefix the activity name with an underscore (for example, `_2Foo`).
74
-
75
- ### Optional elements
76
-
77
- #### `<defaultLang>`
78
-
79
- Sets the default language for Android i18n `strings.xml`. Android defaults to `en`. If you only use a single non-English i18n file, set this to that language.
80
-
81
- ```xml
82
- <defaultLang>de</defaultLang>
83
- ```
84
-
85
- #### `<copyright>`
86
-
87
- Application copyright.
88
-
89
- #### `<description>`
90
-
91
- Application description.
92
-
93
- ```xml
94
- <description>Tap to rock out with this block.</description>
95
- ```
96
-
97
- #### `<fullscreen>`
98
-
99
- Start the app in fullscreen (hides the status bar).
100
-
101
- ```xml
102
- <fullscreen>false</fullscreen> <!-- default -->
103
- ```
104
-
105
- #### `<icon>`
106
-
107
- Icon filename relative to `Resources/` or a platform-specific folder.
108
-
109
- ```xml
110
- <icon>appicon.png</icon>
111
- ```
112
-
113
- #### `<navbar-hidden>`
114
-
115
- Hide the navigation bar.
116
-
117
- ```xml
118
- <navbar-hidden>false</navbar-hidden> <!-- default -->
119
- ```
120
-
121
- Android: removes the top action/title bar.
122
-
123
- #### `<publisher>`
124
-
125
- Application publisher.
126
-
127
- ```xml
128
- <publisher>Bluth Company</publisher>
129
- ```
130
-
131
- #### `<statusbar-hidden>`
132
-
133
- Android only. Hide the status bar.
134
-
135
- ```xml
136
- <statusbar-hidden>false</statusbar-hidden> <!-- default -->
137
- ```
138
-
139
- #### `<url>`
140
-
141
- Application URL.
142
-
143
- ```xml
144
- <url>http://www.bluthcompany.com/fakeblock</url>
145
- ```
146
-
147
- #### `<version>`
148
-
149
- Application version.
150
-
151
- ```xml
152
- <version>3.1.4</version>
153
- ```
154
-
155
- iOS: truncated to 3 dot-separated numbers (for example, `2.1.0.1` becomes `2.1.0`).
156
-
157
- #### `<sdk-version>`
158
-
159
- Titanium SDK to build against.
160
-
161
- ```xml
162
- <sdk-version>11.1.0.GA</sdk-version>
163
- ```
164
-
165
- #### `<deployment-targets>`
166
-
167
- IDE deployment menu options.
168
-
169
- ```xml
170
- <deployment-targets>
171
- <target device="android">true</target>
172
- <target device="ipad">false</target>
173
- <target device="iphone">false</target>
174
- </deployment-targets>
175
- ```
176
-
177
- #### `<modules>`
178
-
179
- Include Titanium modules.
180
-
181
- ```xml
182
- <modules>
183
- <module>ti.map</module>
184
- <module platform="android">ti.map</module>
185
- <module platform="ios">ti.map</module>
186
- <module version="2.0.0">ti.alloy</module>
187
- <module deploy-type="production">ti.analytics</module>
188
- </modules>
189
- ```
190
-
191
- Attributes:
192
- - `platform`: `android`, `commonjs`, `iphone`
193
- - `version`: specific module version
194
- - `deploy-type`: `development`, `test`, `production` (comma-separated)
195
-
196
- #### `<plugins>`
197
-
198
- Include plugins (in the `plugins/` folder).
199
-
200
- ```xml
201
- <plugins>
202
- <plugin version="1.0">ti.alloy</plugin>
203
- </plugins>
204
- ```
205
-
206
- ---
207
-
208
- ## Application properties
209
-
210
- Custom properties accessible via `Titanium.App.Properties`. Read-only in production.
211
-
212
- ```xml
213
- <property name="name" type="type">value</property>
214
- ```
215
-
216
- Types: `string`, `bool`, `int`, `double`
217
-
218
- ### Special properties
219
-
220
- #### `ti.ui.defaultunit`
221
-
222
- Default unit for sizes/positions.
223
-
224
- ```xml
225
- <property name="ti.ui.defaultunit">system</property>
226
- ```
227
-
228
- Values: `system`, `cm`, `dip`/`dp`, `in`, `mm`, `px`
229
-
230
- #### `run-on-main-thread`
231
-
232
- Since 5.1.0. Run all JavaScript on the main thread instead of a secondary thread. Disabled by default in existing projects, enabled in new projects. Enabled automatically in SDK 7.0.0+.
233
-
234
- ```xml
235
- <property name="run-on-main-thread" type="bool">true</property>
236
- ```
237
-
238
- #### `allow-custom-keyboards`
239
-
240
- Since 6.1.0. Allow or disallow custom iOS 8+ keyboard extensions. Custom keyboards are allowed by default. Set to `false` to disallow them.
241
-
242
- ```xml
243
- <property name="allow-custom-keyboards" type="bool">false</property>
244
- ```
245
-
246
- ---
247
-
248
- ## Android section
249
-
250
- ```xml
251
- <android xmlns:android="http://schemas.android.com/apk/res/android">
252
- <abi>all</abi>
253
- <activities>
254
- <activity url="activity.js"/>
255
- </activities>
256
- <services>
257
- <service url="service.js" type="standard"/>
258
- </services>
259
- <manifest>
260
- <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="14"/>
261
- <application>
262
- <activity>...</activity>
263
- <service>...</service>
264
- </application>
265
- </manifest>
266
- </android>
267
- ```
268
-
269
- ### Elements
270
-
271
- #### `<abi>`
272
-
273
- Target ABI architecture (V8 runtime only).
274
-
275
- ```xml
276
- <abi>all</abi> <!-- default -->
277
- ```
278
-
279
- Values: `all`, `arm64-v8a`, `armeabi-v7a`, `x86`, `x86_64`
280
-
281
- Targeting specific ABIs reduces APK size but also reduces device compatibility.
282
-
283
- #### `<activities>`
284
-
285
- Custom JavaScript-based Android activities.
286
-
287
- ```xml
288
- <activities>
289
- <activity url="activity.js">
290
- <!-- Android Manifest elements -->
291
- </activity>
292
- </activities>
293
- ```
294
-
295
- #### `<services>`
296
-
297
- Custom JavaScript-based Android services (background processes).
298
-
299
- ```xml
300
- <services>
301
- <service url="service.js" type="standard"/>
302
- </services>
303
- ```
304
-
305
- #### `<manifest>`
306
-
307
- Ad-hoc AndroidManifest.xml elements.
308
-
309
- Set target/minimum SDK:
310
- ```xml
311
- <android xmlns:android="http://schemas.android.com/apk/res/android">
312
- <manifest>
313
- <!-- Target Android 10.0, min Android 5.0 -->
314
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29"/>
315
- </manifest>
316
- </android>
317
- ```
318
-
319
- Screen density support:
320
- ```xml
321
- <manifest>
322
- <supports-screens
323
- android:smallScreens="true"
324
- android:normalScreens="true"
325
- android:largeScreens="true"
326
- android:xlargeScreens="true"
327
- />
328
- </manifest>
329
- ```
330
-
331
- Do not set `android:anyDensity="false"`.
332
-
333
- Enable debugging:
334
- ```xml
335
- <manifest>
336
- <application android:debuggable="true" />
337
- </manifest>
338
- ```
339
-
340
- Install location:
341
- ```xml
342
- <manifest android:installLocation="preferExternal">
343
- <uses-sdk android:minSdkVersion="7" />
344
- </manifest>
345
- ```
346
-
347
- Values: `preferExternal`, `auto`, `internalOnly`
348
-
349
- Request large heap:
350
- ```xml
351
- <manifest>
352
- <application android:largeHeap="true"/>
353
- </manifest>
354
- ```
355
-
356
- ### Android-specific properties
357
-
358
- | Property | Type | Default | Description |
359
- | -------------------------------------- | ------ | ------- | ------------------------------------------ |
360
- | `ti.android.shake.factor` | double | 1.3 | Shake event sensitivity |
361
- | `ti.android.shake.quiet.milliseconds` | int | 500 | Quiet time before shake event |
362
- | `ti.android.shake.active.milliseconds` | int | 1000 | Active time for shake event |
363
- | `ti.android.httpclient.maxbuffersize` | int | 524288 | HTTP response buffer size (bytes) |
364
- | `ti.android.compilejs` | bool | - | Enable JS compilation (default: dist only) |
365
- | `ti.android.debug` | bool | false | Enable detailed logging |
366
-
367
- ```xml
368
- <property name="ti.android.fastdev">false</property>
369
- ```
370
-
371
- ---
372
-
373
- ## iOS section
374
-
375
- ```xml
376
- <ti:app>
377
- <ios>
378
- <team-id>YOUR_TEAM_ID</team-id>
379
- <entitlements>
380
- <dict>
381
- <key>com.apple.security.application-groups</key>
382
- <array>
383
- <string>group.com.titaniumsdk.mycoolapp</string>
384
- </array>
385
- </dict>
386
- </entitlements>
387
- <extensions>
388
- ...
389
- </extensions>
390
- <plist>
391
- <dict>
392
- <!-- Info.plist entries -->
393
- </dict>
394
- </plist>
395
- <use-autolayout>true</use-autolayout>
396
- <min-ios-ver>9.0</min-ios-ver>
397
- </ios>
398
- </ti:app>
399
- ```
400
-
401
- ### Elements
402
-
403
- #### `<team-id>`
404
-
405
- Since 5.0.0. Required for app extensions (share, watch, Siri).
406
-
407
- ```xml
408
- <team-id>YOUR_TEAM_ID</team-id>
409
- ```
410
-
411
- #### `<entitlements>`
412
-
413
- Since 6.1.0. Target entitlements (merged with internal entitlements).
414
-
415
- ```xml
416
- <entitlements>
417
- <dict>
418
- <key>com.apple.security.application-groups</key>
419
- <array>
420
- <string>group.com.titaniumsdk.mycoolapp</string>
421
- </array>
422
- </dict>
423
- </entitlements>
424
- ```
425
-
426
- #### `<extensions>`
427
-
428
- Since 5.0.0. iOS extensions.
429
-
430
- ```xml
431
- <extensions>
432
- <extension projectPath="extensions/foo/foo.xcodeproj">
433
- <target name="foo WatchApp Extension">
434
- <provisioning-profiles>
435
- <devices/>
436
- <dist-appstore/>
437
- <dist-adhoc/>
438
- </provisioning-profiles>
439
- </target>
440
- </extension>
441
- </extensions>
442
- ```
443
-
444
- #### `<min-ios-ver>`
445
-
446
- Minimum iOS version.
447
-
448
- ```xml
449
- <min-ios-ver>9.0</min-ios-ver> <!-- default -->
450
- ```
451
-
452
- #### `<min-sdk-ver>`
453
-
454
- Minimum Xcode version.
455
-
456
- ```xml
457
- <min-sdk-ver>9.0</min-sdk-ver> <!-- default -->
458
- ```
459
-
460
- #### `<plist>`
461
-
462
- Settings for generated `Info.plist`. Uses key/value pairs.
463
-
464
- Orientations:
465
- ```xml
466
- <plist>
467
- <dict>
468
- <key>UISupportedInterfaceOrientations~iphone</key>
469
- <array>
470
- <string>UIInterfaceOrientationPortrait</string>
471
- </array>
472
- <key>UISupportedInterfaceOrientations~ipad</key>
473
- <array>
474
- <string>UIInterfaceOrientationPortrait</string>
475
- <string>UIInterfaceOrientationPortraitUpsideDown</string>
476
- <string>UIInterfaceOrientationLandscapeLeft</string>
477
- <string>UIInterfaceOrientationLandscapeRight</string>
478
- </array>
479
- </dict>
480
- </plist>
481
- ```
482
-
483
- Background modes:
484
- ```xml
485
- <plist>
486
- <dict>
487
- <key>UIBackgroundModes</key>
488
- <array>
489
- <string>audio</string>
490
- <string>location</string>
491
- <string>voip</string>
492
- <string>newsstand-content</string>
493
- <string>external-accessory</string>
494
- <string>bluetooth-central</string>
495
- <string>bluetooth-peripheral</string>
496
- </array>
497
- </dict>
498
- </plist>
499
- ```
500
-
501
- Device capabilities:
502
- ```xml
503
- <plist>
504
- <dict>
505
- <key>UIRequiredDeviceCapabilities</key>
506
- <array>
507
- <string>telephony</string>
508
- <string>wifi</string>
509
- <string>sms</string>
510
- <string>still-camera</string>
511
- <string>auto-focus-camera</string>
512
- <string>front-facing-camera</string>
513
- <string>camera-flash</string>
514
- <string>video-camera</string>
515
- <string>accelerometer</string>
516
- <string>gyroscope</string>
517
- <string>location-services</string>
518
- <string>gps</string>
519
- <string>magnetometer</string>
520
- <string>gamekit</string>
521
- <string>microphone</string>
522
- <string>opengles-1</string>
523
- <string>opengles-2</string>
524
- <string>armv6</string>
525
- <string>armv7</string>
526
- <string>peer-peer</string>
527
- <string>bluetooth-le</string>
528
- </array>
529
- </dict>
530
- </plist>
531
- ```
532
-
533
- Persistent WiFi:
534
- ```xml
535
- <key>UIRequiresPersistentWiFi</key><true/>
536
- ```
537
-
538
- Status bar style:
539
- ```xml
540
- <key>UIStatusBarStyle</key><string>UIStatusBarStyleBlackTranslucent</string>
541
- ```
542
-
543
- iOS 9 URL schemes:
544
- ```xml
545
- <key>LSApplicationQueriesSchemes</key>
546
- <array>
547
- <string>fbapi</string>
548
- <string>fbauth2</string>
549
- <string>twitter</string>
550
- <string>whatsapp</string>
551
- <string>instagram</string>
552
- <string>comgooglemaps</string>
553
- </array>
554
- ```
555
-
556
- #### `<use-app-thinning>`
557
-
558
- Since 5.1.0. Enable App Thinning with Asset Catalog.
559
-
560
- ```xml
561
- <use-app-thinning>true</use-app-thinning>
562
- ```
563
-
564
- Use `Ti.Filesystem.getAsset()` to read images from Asset Catalog.
565
-
566
- #### `<use-autolayout>`
567
-
568
- Since 5.1.0. Enable iOS auto-layout engine.
569
-
570
- ```xml
571
- <use-autolayout>true</use-autolayout>
572
- ```
573
-
574
- #### `<log-server-port>`
575
-
576
- Since 6.0.0. Custom log server port.
577
-
578
- ```xml
579
- <log-server-port>27973</log-server-port>
580
- ```
581
-
582
- ### Unsupported Info.plist keys
583
-
584
- These are auto-generated by Titanium and cannot be overridden:
585
- - `CFBundleDisplayName`
586
- - `CFBundleExecutable`
587
- - `CFBundleIconFile`
588
- - `CFBundleIconFiles`
589
- - `CFBundleIdentifier`
590
- - `CFBundleInfoDictionaryVersion`
591
- - `CFBundleName`
592
- - `CFBundlePackageType`
593
- - `CFBundleSignature`
594
- - `CFBundleVersion` (pre-4.1.0)
595
- - `CFBundleShortVersionString` (pre-4.1.0)
596
-
597
- ---
598
-
599
- ## Google Play Services
600
-
601
- Since 9.0.0. Automatic validation of Google Play Services. Disable if needed:
602
-
603
- ```xml
604
- <property name="ti.playservices.validate.on.startup" type="bool">false</property>
605
- ```
606
-
607
- ---
608
-
609
- ## timodule.xml (module configuration)
610
-
611
- Used in custom Titanium modules. Follows the same structure as `tiapp.xml` but only contains platform-specific config (mainly Android).
612
-
613
- Supports token substitution for app-specific values:
614
-
615
- ```xml
616
- <!-- timodule.xml -->
617
- <android xmlns:android="http://schemas.android.com/apk/res/android">
618
- <manifest>
619
- <permission android:name="${tiapp.properties['id']}.permission.MY_NEW_PERMISSION"
620
- android:protectionLevel="signature" />
621
- </manifest>
622
- </android>
623
- ```
624
-
625
- Becomes (for app with ID `com.example.app`):
626
-
627
- ```xml
628
- <permission android:name="com.example.app.permission.MY_NEW_PERMISSION"
629
- android:protectionLevel="signature" />
630
- ```
631
-
632
- Access properties:
633
- - `${tiapp.properties['id']}`: app ID
634
- - `${tiapp.properties['name']}`: app name
635
- - `${tiapp.properties['version']}`: app version
636
- - `${tiapp.properties['publisher']}`: publisher
637
-
638
- ---
639
-
640
- ## SDK version precedence
641
-
642
- The CLI checks SDK version in this order:
643
-
644
- 1. `tiapp.xml` `<sdk-version>` tag
645
- 2. `--sdk` CLI option
646
- 3. `app.sdk` config setting (`ti config app.sdk <version>`)
647
- 4. Selected SDK (`ti sdk select`)
648
-
649
- ---
650
-
651
- ## References
652
-
653
- - Android Manifest docs: http://developer.android.com/guide/topics/manifest/manifest-intro.html
654
- - iOS Info.plist Key Reference: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html
655
- - Java package naming: http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html