@maccesar/titools 2.10.0 → 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.
- package/AGENTS-VERCEL-RESEARCH.md +23 -12
- package/README.md +81 -182
- package/agents/ti-pro.md +8 -14
- package/lib/cleanup.js +13 -0
- package/lib/commands/skills.js +2 -1
- package/lib/commands/update.js +4 -1
- package/lib/config.js +9 -11
- package/lib/platform.js +1 -1
- package/package.json +2 -3
- package/skills/purgetss/SKILL.md +12 -0
- package/skills/purgetss/references/animation-advanced.md +0 -9
- package/skills/purgetss/references/app-branding.md +20 -0
- package/skills/purgetss/references/appearance-module.md +85 -27
- package/skills/purgetss/references/apply-directive.md +60 -0
- package/skills/purgetss/references/arbitrary-values.md +41 -0
- package/skills/purgetss/references/cli-commands.md +52 -17
- package/skills/purgetss/references/custom-rules.md +36 -19
- package/skills/purgetss/references/customization-deep-dive.md +37 -15
- package/skills/purgetss/references/grid-layout.md +45 -26
- package/skills/purgetss/references/icon-fonts.md +27 -25
- package/skills/purgetss/references/installation-setup.md +28 -2
- package/skills/purgetss/references/ios-large-titles.md +31 -15
- package/skills/purgetss/references/multi-density-images.md +57 -0
- package/skills/purgetss/references/opacity-modifier.md +11 -2
- package/skills/purgetss/references/semantic-colors.md +44 -1
- package/skills/purgetss/references/tikit-components.md +1 -3
- package/skills/alloy-guides/SKILL.md +0 -190
- package/skills/alloy-guides/references/CLI_TASKS.md +0 -233
- package/skills/alloy-guides/references/CONCEPTS.md +0 -171
- package/skills/alloy-guides/references/CONTROLLERS.md +0 -279
- package/skills/alloy-guides/references/MODELS.md +0 -1214
- package/skills/alloy-guides/references/PURGETSS.md +0 -46
- package/skills/alloy-guides/references/VIEWS_DYNAMIC.md +0 -235
- package/skills/alloy-guides/references/VIEWS_STYLES.md +0 -375
- package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +0 -102
- package/skills/alloy-guides/references/VIEWS_XML.md +0 -581
- package/skills/alloy-guides/references/WIDGETS.md +0 -160
- package/skills/alloy-howtos/SKILL.md +0 -181
- package/skills/alloy-howtos/references/best_practices.md +0 -121
- package/skills/alloy-howtos/references/cli_reference.md +0 -230
- package/skills/alloy-howtos/references/config_files.md +0 -158
- package/skills/alloy-howtos/references/custom_tags.md +0 -148
- package/skills/alloy-howtos/references/debugging_troubleshooting.md +0 -78
- package/skills/alloy-howtos/references/samples.md +0 -156
- package/skills/ti-api/SKILL.md +0 -109
- package/skills/ti-api/references/api-android.md +0 -675
- package/skills/ti-api/references/api-app-platform.md +0 -636
- package/skills/ti-api/references/api-core.md +0 -764
- package/skills/ti-api/references/api-data-network.md +0 -641
- package/skills/ti-api/references/api-media.md +0 -655
- package/skills/ti-api/references/api-modules-ble-bluetooth.md +0 -657
- package/skills/ti-api/references/api-modules-coremotion-urlsession.md +0 -411
- package/skills/ti-api/references/api-modules-map.md +0 -632
- package/skills/ti-api/references/api-modules-nfc.md +0 -725
- package/skills/ti-api/references/api-modules-social-misc.md +0 -526
- package/skills/ti-api/references/api-services.md +0 -700
- package/skills/ti-api/references/api-ui-android.md +0 -499
- package/skills/ti-api/references/api-ui-extras.md +0 -702
- package/skills/ti-api/references/api-ui-ios-animator.md +0 -378
- package/skills/ti-api/references/api-ui-ios.md +0 -756
- package/skills/ti-api/references/api-ui-lists.md +0 -581
- package/skills/ti-api/references/api-ui-text-input.md +0 -607
- package/skills/ti-api/references/api-ui-views.md +0 -572
- package/skills/ti-api/references/api-ui-windows-navigation.md +0 -676
- package/skills/ti-api/references/api-xml-global.md +0 -743
- package/skills/ti-guides/SKILL.md +0 -75
- package/skills/ti-guides/references/advanced-data-and-images.md +0 -155
- package/skills/ti-guides/references/android-manifest.md +0 -97
- package/skills/ti-guides/references/app-distribution.md +0 -373
- package/skills/ti-guides/references/application-frameworks.md +0 -366
- package/skills/ti-guides/references/cli-reference.md +0 -700
- package/skills/ti-guides/references/coding-best-practices.md +0 -150
- package/skills/ti-guides/references/commonjs-advanced.md +0 -279
- package/skills/ti-guides/references/hello-world.md +0 -99
- package/skills/ti-guides/references/hyperloop-native-access.md +0 -458
- package/skills/ti-guides/references/javascript-primer.md +0 -402
- package/skills/ti-guides/references/reserved-words.md +0 -36
- package/skills/ti-guides/references/resources.md +0 -172
- package/skills/ti-guides/references/style-and-conventions.md +0 -104
- package/skills/ti-guides/references/tiapp-config.md +0 -655
- package/skills/ti-howtos/SKILL.md +0 -143
- package/skills/ti-howtos/references/android-platform-deep-dives.md +0 -609
- package/skills/ti-howtos/references/automation-fastlane-appium.md +0 -96
- package/skills/ti-howtos/references/buffer-codec-streams.md +0 -162
- package/skills/ti-howtos/references/cross-platform-development.md +0 -358
- package/skills/ti-howtos/references/debugging-profiling.md +0 -473
- package/skills/ti-howtos/references/extending-titanium.md +0 -684
- package/skills/ti-howtos/references/google-maps-v2.md +0 -172
- package/skills/ti-howtos/references/ios-map-kit.md +0 -149
- package/skills/ti-howtos/references/ios-platform-deep-dives.md +0 -595
- package/skills/ti-howtos/references/local-data-sources.md +0 -310
- package/skills/ti-howtos/references/location-and-maps.md +0 -267
- package/skills/ti-howtos/references/media-apis.md +0 -268
- package/skills/ti-howtos/references/notification-services.md +0 -539
- package/skills/ti-howtos/references/remote-data-sources.md +0 -339
- package/skills/ti-howtos/references/tutorials.md +0 -552
- package/skills/ti-howtos/references/using-modules.md +0 -182
- package/skills/ti-howtos/references/web-content-integration.md +0 -288
- 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
|