@maccesar/titools 4.0.0 → 4.3.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 (98) hide show
  1. package/README.md +23 -6
  2. package/bin/titools.js +4 -4
  3. package/commands/ti-audit.md +13 -0
  4. package/commands/ti-check.md +15 -0
  5. package/commands/ti-new-screen.md +18 -0
  6. package/lib/claude-plugin.js +105 -0
  7. package/lib/cleanup.js +18 -0
  8. package/lib/commands/doctor.js +75 -3
  9. package/lib/commands/skills.js +66 -6
  10. package/lib/commands/uninstall.js +32 -2
  11. package/lib/commands/update.js +15 -0
  12. package/lib/config.js +37 -0
  13. package/lib/installer.js +85 -1
  14. package/lib/symlink.js +40 -3
  15. package/package.json +2 -1
  16. package/skills/alloy-guides/references/MODELS.md +23 -0
  17. package/skills/alloy-guides/references/MODELS_ADVANCED.md +19 -0
  18. package/skills/alloy-guides/references/VIEWS_STYLES.md +12 -0
  19. package/skills/alloy-guides/references/VIEWS_XML.md +18 -0
  20. package/skills/purgetss/references/EXAMPLES.md +24 -0
  21. package/skills/purgetss/references/animation-advanced.md +12 -0
  22. package/skills/purgetss/references/animation-system.md +23 -0
  23. package/skills/purgetss/references/app-branding.md +23 -0
  24. package/skills/purgetss/references/apply-directive.md +17 -0
  25. package/skills/purgetss/references/arbitrary-values.md +13 -0
  26. package/skills/purgetss/references/class-index-properties.md +11 -0
  27. package/skills/purgetss/references/cli-commands.md +27 -0
  28. package/skills/purgetss/references/customization-deep-dive.md +15 -0
  29. package/skills/purgetss/references/dynamic-component-creation.md +16 -0
  30. package/skills/purgetss/references/migration-guide.md +20 -0
  31. package/skills/purgetss/references/multi-density-images.md +27 -0
  32. package/skills/purgetss/references/semantic-colors.md +15 -0
  33. package/skills/purgetss/references/tikit-components.md +17 -0
  34. package/skills/purgetss/references/titanium-resets.md +16 -0
  35. package/skills/purgetss/references/ui-ux-design.md +20 -0
  36. package/skills/ti-api/references/api-android.md +23 -0
  37. package/skills/ti-api/references/api-app-platform.md +24 -0
  38. package/skills/ti-api/references/api-core.md +24 -0
  39. package/skills/ti-api/references/api-data-network.md +21 -0
  40. package/skills/ti-api/references/api-media.md +15 -1
  41. package/skills/ti-api/references/api-modules-ble-bluetooth.md +26 -0
  42. package/skills/ti-api/references/api-modules-coremotion-urlsession.md +18 -0
  43. package/skills/ti-api/references/api-modules-map.md +21 -2
  44. package/skills/ti-api/references/api-modules-nfc.md +34 -0
  45. package/skills/ti-api/references/api-modules-social-misc.md +22 -0
  46. package/skills/ti-api/references/api-services.md +21 -1
  47. package/skills/ti-api/references/api-ui-android.md +18 -0
  48. package/skills/ti-api/references/api-ui-extras.md +19 -1
  49. package/skills/ti-api/references/api-ui-ios-animator.md +14 -0
  50. package/skills/ti-api/references/api-ui-ios.md +42 -0
  51. package/skills/ti-api/references/api-ui-lists.md +14 -2
  52. package/skills/ti-api/references/api-ui-text-input.md +15 -0
  53. package/skills/ti-api/references/api-ui-views.md +19 -0
  54. package/skills/ti-api/references/api-ui-windows-navigation.md +13 -0
  55. package/skills/ti-api/references/api-xml-global.md +31 -0
  56. package/skills/ti-expert/SKILL.md +1 -1
  57. package/skills/ti-expert/references/adaptive-layouts.md +178 -1
  58. package/skills/ti-expert/references/alloy-builtins.md +15 -0
  59. package/skills/ti-expert/references/alloy-structure.md +15 -0
  60. package/skills/ti-expert/references/code-conventions.md +19 -0
  61. package/skills/ti-expert/references/controller-patterns.md +18 -0
  62. package/skills/ti-expert/references/error-handling.md +16 -0
  63. package/skills/ti-expert/references/examples.md +17 -0
  64. package/skills/ti-expert/references/migration-patterns.md +15 -0
  65. package/skills/ti-expert/references/patterns.md +16 -0
  66. package/skills/ti-expert/references/performance-optimization.md +17 -0
  67. package/skills/ti-expert/references/security-device.md +13 -0
  68. package/skills/ti-expert/references/state-management.md +16 -0
  69. package/skills/ti-expert/references/testing-e2e-ci.md +17 -0
  70. package/skills/ti-expert/references/testing-unit.md +20 -0
  71. package/skills/ti-expert/references/theming.md +20 -0
  72. package/skills/ti-guides/references/app-distribution.md +34 -0
  73. package/skills/ti-guides/references/application-frameworks.md +13 -0
  74. package/skills/ti-guides/references/cli-reference.md +16 -0
  75. package/skills/ti-guides/references/hyperloop-native-access.md +21 -0
  76. package/skills/ti-guides/references/javascript-primer.md +12 -0
  77. package/skills/ti-guides/references/tiapp-config.md +15 -0
  78. package/skills/ti-howtos/references/android-platform-deep-dives.md +15 -0
  79. package/skills/ti-howtos/references/cross-platform-development.md +16 -0
  80. package/skills/ti-howtos/references/debugging-profiling.md +15 -0
  81. package/skills/ti-howtos/references/extending-titanium.md +14 -0
  82. package/skills/ti-howtos/references/ios-platform-deep-dives.md +16 -0
  83. package/skills/ti-howtos/references/local-data-sources.md +32 -0
  84. package/skills/ti-howtos/references/notification-services.md +12 -0
  85. package/skills/ti-howtos/references/remote-data-sources.md +15 -0
  86. package/skills/ti-howtos/references/tutorials.md +13 -0
  87. package/skills/ti-ui/references/animation-and-matrices.md +17 -0
  88. package/skills/ti-ui/references/application-structures.md +19 -0
  89. package/skills/ti-ui/references/custom-fonts-styling.md +18 -0
  90. package/skills/ti-ui/references/event-handling.md +16 -0
  91. package/skills/ti-ui/references/gestures.md +17 -0
  92. package/skills/ti-ui/references/icons-and-splash-screens.md +17 -0
  93. package/skills/ti-ui/references/layouts-and-positioning.md +16 -0
  94. package/skills/ti-ui/references/listviews-and-performance.md +21 -0
  95. package/skills/ti-ui/references/orientation.md +20 -0
  96. package/skills/ti-ui/references/platform-ui-android.md +20 -0
  97. package/skills/ti-ui/references/platform-ui-ios.md +17 -0
  98. package/skills/ti-ui/references/tableviews.md +24 -0
@@ -1,5 +1,18 @@
1
1
  # Device security: biometrics, deep links & integrity
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [Biometric authentication](#biometric-authentication)
7
+ - [Biometric login flow](#biometric-login-flow)
8
+ - [Deep link security](#deep-link-security)
9
+ - [Registering deep link handler](#registering-deep-link-handler)
10
+ - [Jailbreak/Root detection](#jailbreakroot-detection)
11
+ - [Integrating security checks](#integrating-security-checks)
12
+ - [Security checklist](#security-checklist)
13
+
14
+ <!-- TOC-END -->
15
+
3
16
  ## Biometric authentication
4
17
 
5
18
  ### Using ti.identity module
@@ -1,5 +1,21 @@
1
1
  # State management patterns
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [The problem](#the-problem)
7
+ - [Solution: centralized state store](#solution-centralized-state-store)
8
+ - [State store usage](#state-store-usage)
9
+ - [Service layer state caching](#service-layer-state-caching)
10
+ - [Collections vs state store](#collections-vs-state-store)
11
+ - [State synchronization pattern](#state-synchronization-pattern)
12
+ - [Anti-patterns](#anti-patterns)
13
+ - [Persistence strategies](#persistence-strategies)
14
+ - [State middleware](#state-middleware)
15
+ - [State debugging](#state-debugging)
16
+
17
+ <!-- TOC-END -->
18
+
3
19
  ## The problem
4
20
 
5
21
  As apps grow, state gets scattered:
@@ -1,5 +1,22 @@
1
1
  # End-to-end testing & CI/CD
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [Appium setup](#appium-setup)
7
+ - [Appium configuration](#appium-configuration)
8
+ - [Webdriverio integration](#webdriverio-integration)
9
+ - [E2E test example](#e2e-test-example)
10
+ - [Adding accessibility IDs for testing](#adding-accessibility-ids-for-testing)
11
+ - [Page object pattern](#page-object-pattern)
12
+ - [CI/CD integration](#cicd-integration)
13
+ - [Fastlane integration](#fastlane-integration)
14
+ - [Package.json scripts](#packagejson-scripts)
15
+ - [Branch protection rules](#branch-protection-rules)
16
+ - [Testing best practices summary](#testing-best-practices-summary)
17
+
18
+ <!-- TOC-END -->
19
+
3
20
  ## Appium setup
4
21
 
5
22
  ```bash
@@ -5,6 +5,26 @@
5
5
  > Testing is useful for teams practicing CI/CD, projects with complex business logic, or refactoring confidence.
6
6
  > If you prefer manual testing on device, you can safely skip this guide.
7
7
 
8
+ <!-- TOC-START -->
9
+ ## Contents
10
+
11
+ - [What can be tested (Without Compiling)](#what-can-be-tested-without-compiling)
12
+ - [What cannot be easily tested](#what-cannot-be-easily-tested)
13
+ - [Testing philosophy](#testing-philosophy)
14
+ - [Project structure](#project-structure)
15
+ - [Writing testable code](#writing-testable-code)
16
+ - [Unit testing services](#unit-testing-services)
17
+ - [Unit testing helpers](#unit-testing-helpers)
18
+ - [Integration testing controllers](#integration-testing-controllers)
19
+ - [Mock factory](#mock-factory)
20
+ - [Test helper functions](#test-helper-functions)
21
+ - [Test setup configuration](#test-setup-configuration)
22
+ - [Running tests](#running-tests)
23
+ - [Anti-patterns to avoid](#anti-patterns-to-avoid)
24
+ - [Test checklist](#test-checklist)
25
+
26
+ <!-- TOC-END -->
27
+
8
28
  ## What can be tested (Without Compiling)
9
29
 
10
30
  **Pure JavaScript Logic:**
@@ -1,5 +1,25 @@
1
1
  # Theming & dark mode
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [Alloy theme system](#alloy-theme-system)
7
+ - [Theme folder structure](#theme-folder-structure)
8
+ - [Activating a theme](#activating-a-theme)
9
+ - [Theme cascade](#theme-cascade)
10
+ - [Dynamic theming with Alloy.Globals](#dynamic-theming-with-alloyglobals)
11
+ - [Step 1: define color palette](#step-1-define-color-palette)
12
+ - [Step 2: use in TSS with Alloy.Globals](#step-2-use-in-tss-with-alloyglobals)
13
+ - [Step 3: theme switching service](#step-3-theme-switching-service)
14
+ - [Step 4: respond to theme changes in controllers](#step-4-respond-to-theme-changes-in-controllers)
15
+ - [System dark mode detection](#system-dark-mode-detection)
16
+ - [iOS 13+ / Android 10+](#ios-13-android-10)
17
+ - [Semantic colors (Cross-Platform)](#semantic-colors-cross-platform)
18
+ - [Reusable style classes pattern](#reusable-style-classes-pattern)
19
+ - [Using style classes in views](#using-style-classes-in-views)
20
+
21
+ <!-- TOC-END -->
22
+
3
23
  ## Alloy theme system
4
24
 
5
25
  Alloy has a built-in theme system via the `app/themes/` folder. Themes override views, styles, and assets without modifying originals.
@@ -2,6 +2,40 @@
2
2
 
3
3
  Guide for distributing Titanium apps to Google Play (Android) and the App Store (iOS).
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Android distribution](#android-distribution)
9
+ - [1. Generate keystore and certificate](#1-generate-keystore-and-certificate)
10
+ - [2. Verify keystore](#2-verify-keystore)
11
+ - [3. Build for Google Play](#3-build-for-google-play)
12
+ - [4. Verify APK signing](#4-verify-apk-signing)
13
+ - [5. Deploy to device for testing](#5-deploy-to-device-for-testing)
14
+ - [6. Google Play submission requirements](#6-google-play-submission-requirements)
15
+ - [7. SD card installation](#7-sd-card-installation)
16
+ - [iOS distribution](#ios-distribution)
17
+ - [1. Distribution types](#1-distribution-types)
18
+ - [2. Create distribution certificate](#2-create-distribution-certificate)
19
+ - [3. Create distribution provisioning profile](#3-create-distribution-provisioning-profile)
20
+ - [4. Create App ID on App Store Connect](#4-create-app-id-on-app-store-connect)
21
+ - [5. Build and package](#5-build-and-package)
22
+ - [6. Upload to App Store Connect](#6-upload-to-app-store-connect)
23
+ - [7. Ad Hoc distribution](#7-ad-hoc-distribution)
24
+ - [Mac Catalyst distribution (Mac App Store)](#mac-catalyst-distribution-mac-app-store)
25
+ - [1. Enable Mac Catalyst for your App ID](#1-enable-mac-catalyst-for-your-app-id)
26
+ - [2. Create Mac App Store Distribution Certificate](#2-create-mac-app-store-distribution-certificate)
27
+ - [3. Mac Catalyst build targets](#3-mac-catalyst-build-targets)
28
+ - [4. Build for Mac Catalyst (Development)](#4-build-for-mac-catalyst-development)
29
+ - [5. Build for Mac App Store (Distribution)](#5-build-for-mac-app-store-distribution)
30
+ - [6. Upload to Mac App Store Connect](#6-upload-to-mac-app-store-connect)
31
+ - [7. Create app listing in App Store Connect](#7-create-app-listing-in-app-store-connect)
32
+ - [8. Mac Catalyst entitlements](#8-mac-catalyst-entitlements)
33
+ - [9. Common issues](#9-common-issues)
34
+ - [10. Versioning](#10-versioning)
35
+ - [11. Testing on Mac](#11-testing-on-mac)
36
+
37
+ <!-- TOC-END -->
38
+
5
39
  ## Android distribution
6
40
 
7
41
  ### 1. Generate keystore and certificate
@@ -2,6 +2,19 @@
2
2
 
3
3
  Framework options and architecture patterns for Titanium applications.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Alloy framework](#alloy-framework)
9
+ - [Classic Titanium](#classic-titanium)
10
+ - [Choosing a framework](#choosing-a-framework)
11
+ - [Architecture patterns](#architecture-patterns)
12
+ - [Framework interoperability](#framework-interoperability)
13
+ - [Best practices](#best-practices)
14
+ - [Resources](#resources)
15
+
16
+ <!-- TOC-END -->
17
+
5
18
  ## Alloy framework
6
19
 
7
20
  Alloy is the official MVC framework for Titanium. It was developed by Appcelerator and is now maintained by TiDev.
@@ -2,6 +2,22 @@
2
2
 
3
3
  Reference for Titanium CLI commands, options, and configuration.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Environment setup](#environment-setup)
9
+ - [Project commands](#project-commands)
10
+ - [Build commands](#build-commands)
11
+ - [Distribution commands](#distribution-commands)
12
+ - [SDK management](#sdk-management)
13
+ - [Configuration options](#configuration-options)
14
+ - [Common issues](#common-issues)
15
+ - [Command quick reference](#command-quick-reference)
16
+ - [SDK version precedence](#sdk-version-precedence)
17
+ - [References](#references)
18
+
19
+ <!-- TOC-END -->
20
+
5
21
  ## Environment setup
6
22
 
7
23
  ### Check environment
@@ -2,6 +2,27 @@
2
2
 
3
3
  Hyperloop lets you access native APIs (iOS Objective-C/Swift and Android Java/Kotlin) directly from JavaScript. It ships with the Titanium SDK and works as a native module.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [1. Requirements](#1-requirements)
9
+ - [2. Enabling Hyperloop](#2-enabling-hyperloop)
10
+ - [3. Framework namespace conventions](#3-framework-namespace-conventions)
11
+ - [4. iOS (Objective-C)](#4-ios-objective-c)
12
+ - [5. iOS: creating custom classes](#5-ios-creating-custom-classes)
13
+ - [6. iOS: CocoaPods support](#6-ios-cocoapods-support)
14
+ - [7. iOS: Swift support](#7-ios-swift-support)
15
+ - [8. iOS: XIB and Storyboards](#8-ios-xib-and-storyboards)
16
+ - [9. iOS: customizing the Xcode build](#9-ios-customizing-the-xcode-build)
17
+ - [10. Android (Java)](#10-android-java)
18
+ - [11. Android: native XML layouts](#11-android-native-xml-layouts)
19
+ - [12. Android: third-party libraries](#12-android-third-party-libraries)
20
+ - [13. Debugging Hyperloop](#13-debugging-hyperloop)
21
+ - [14. Performance tips](#14-performance-tips)
22
+ - [15. Sample projects](#15-sample-projects)
23
+
24
+ <!-- TOC-END -->
25
+
5
26
  ## 1. Requirements
6
27
 
7
28
  - Titanium SDK: 9.0.0+
@@ -2,6 +2,18 @@
2
2
 
3
3
  Essential JavaScript concepts, resources, and best practices for Titanium development.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [JavaScript overview](#javascript-overview)
9
+ - [Learning resources](#learning-resources)
10
+ - [Best practices](#best-practices)
11
+ - [Common patterns](#common-patterns)
12
+ - [ES6+ features in Titanium](#es6-features-in-titanium)
13
+ - [Gotchas to avoid](#gotchas-to-avoid)
14
+
15
+ <!-- TOC-END -->
16
+
5
17
  ## JavaScript overview
6
18
 
7
19
  JavaScript is the language of Titanium. It is lightweight and dynamic, with object-oriented and functional features.
@@ -2,6 +2,21 @@
2
2
 
3
3
  Reference for Titanium app configuration files. `tiapp.xml` is the main config file for Titanium apps. `timodule.xml` is for custom modules.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [tiapp.xml structure](#tiappxml-structure)
9
+ - [Top-level elements](#top-level-elements)
10
+ - [Application properties](#application-properties)
11
+ - [Android section](#android-section)
12
+ - [iOS section](#ios-section)
13
+ - [Google Play Services](#google-play-services)
14
+ - [timodule.xml (module configuration)](#timodulexml-module-configuration)
15
+ - [SDK version precedence](#sdk-version-precedence)
16
+ - [References](#references)
17
+
18
+ <!-- TOC-END -->
19
+
5
20
  ## tiapp.xml structure
6
21
 
7
22
  ```xml
@@ -1,5 +1,20 @@
1
1
  # Android platform deep dives
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Android intent filters (advanced)](#1-android-intent-filters-advanced)
7
+ - [2. Broadcast intents with permissions](#2-broadcast-intents-with-permissions)
8
+ - [3. FusedLocationProvider (TiSDK 7.1.0+)](#3-fusedlocationprovider-tisdk-710)
9
+ - [4. Android intents](#4-android-intents)
10
+ - [5. Intent filters](#5-intent-filters)
11
+ - [6. Broadcast intents and receivers](#6-broadcast-intents-and-receivers)
12
+ - [7. Android services](#7-android-services)
13
+ - [8. Android permissions](#8-android-permissions)
14
+ - [Best practices](#best-practices)
15
+
16
+ <!-- TOC-END -->
17
+
3
18
  ## 1. Android intent filters (advanced)
4
19
 
5
20
  To receive implicit intents (for example, opening a PDF file or a web link), register a filter in the manifest.
@@ -2,6 +2,22 @@
2
2
 
3
3
  Strategies for building Titanium apps that run on iOS and Android from a single codebase.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Philosophy](#philosophy)
9
+ - [Platform identification](#platform-identification)
10
+ - [Coding strategies](#coding-strategies)
11
+ - [Platform-specific resources](#platform-specific-resources)
12
+ - [5. Webpack build pipeline (TiSDK 9.1.0+)](#5-webpack-build-pipeline-tisdk-910)
13
+ - [6. Internationalization (i18n)](#6-internationalization-i18n)
14
+ - [Platform-specific APIs](#platform-specific-apis)
15
+ - [Common cross-platform patterns](#common-cross-platform-patterns)
16
+ - [Best practices](#best-practices)
17
+ - [Resources](#resources)
18
+
19
+ <!-- TOC-END -->
20
+
5
21
  ## Philosophy
6
22
 
7
23
  ### "Write once, adapt everywhere"
@@ -2,6 +2,21 @@
2
2
 
3
3
  Guide to debugging Titanium apps, managing memory, finding leaks, and using native tools.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Debugging overview](#debugging-overview)
9
+ - [Memory management](#memory-management)
10
+ - [Memory leak detection](#memory-leak-detection)
11
+ - [Android debugging tools](#android-debugging-tools)
12
+ - [iOS debugging tools](#ios-debugging-tools)
13
+ - [6. Automation and UI testing](#6-automation-and-ui-testing)
14
+ - [Best practices](#best-practices)
15
+ - [Platform-specific notes](#platform-specific-notes)
16
+ - [Resources](#resources)
17
+
18
+ <!-- TOC-END -->
19
+
5
20
  ## Debugging overview
6
21
 
7
22
  ### Essential elements of debugging
@@ -1,5 +1,19 @@
1
1
  # Extending Titanium
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Module architecture (core concepts)](#1-module-architecture-core-concepts)
7
+ - [2. Module debugging in Xcode (iOS)](#2-module-debugging-in-xcode-ios)
8
+ - [3. Upgrading to SDK 9.0.0+ (Android)](#3-upgrading-to-sdk-900-android)
9
+ - [4. Hyperloop](#4-hyperloop)
10
+ - [3. Native module development](#3-native-module-development)
11
+ - [4. Choosing between Hyperloop and native modules](#4-choosing-between-hyperloop-and-native-modules)
12
+ - [5. Finding and using third-party modules](#5-finding-and-using-third-party-modules)
13
+ - [Best practices summary](#best-practices-summary)
14
+
15
+ <!-- TOC-END -->
16
+
3
17
  ## 1. Module architecture (core concepts)
4
18
 
5
19
  Titanium modules are based on a native class hierarchy that communicates with JavaScript:
@@ -1,5 +1,21 @@
1
1
  # iOS platform deep dives
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. iOS 17+ privacy requirements (critical)](#1-ios-17-privacy-requirements-critical)
7
+ - [2. Background services and silent push](#2-background-services-and-silent-push)
8
+ - [3. iCloud services and backup control](#3-icloud-services-and-backup-control)
9
+ - [4. WatchKit and Ti.WatchSession](#4-watchkit-and-tiwatchsession)
10
+ - [5. SiriKit and Siri intents](#5-sirikit-and-siri-intents)
11
+ - [6. Spotlight search (Core Spotlight)](#6-spotlight-search-core-spotlight)
12
+ - [7. Core Motion module](#7-core-motion-module)
13
+ - [8. Handoff user activities](#8-handoff-user-activities)
14
+ - [9. Additional iOS features](#9-additional-ios-features)
15
+ - [Best practices summary](#best-practices-summary)
16
+
17
+ <!-- TOC-END -->
18
+
3
19
  ## 1. iOS 17+ privacy requirements (critical)
4
20
  Apple requires declaring the use of certain APIs to prevent fingerprinting.
5
21
 
@@ -1,5 +1,37 @@
1
1
  # Local data sources
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Filesystem access and storage](#1-filesystem-access-and-storage)
7
+ - [Modules overview](#modules-overview)
8
+ - [Storage locations](#storage-locations)
9
+ - [File operations](#file-operations)
10
+ - [Directory operations](#directory-operations)
11
+ - [Case sensitivity warning](#case-sensitivity-warning)
12
+ - [2. SQLite database](#2-sqlite-database)
13
+ - [Installing a pre-populated database](#installing-a-pre-populated-database)
14
+ - [Opening databases](#opening-databases)
15
+ - [Querying data](#querying-data)
16
+ - [Parameterized queries](#parameterized-queries)
17
+ - [Data modification](#data-modification)
18
+ - [Transactions for batch operations](#transactions-for-batch-operations)
19
+ - [SQLite limitations](#sqlite-limitations)
20
+ - [Disable iCloud backup for databases (iOS)](#disable-icloud-backup-for-databases-ios)
21
+ - [Always close connections](#always-close-connections)
22
+ - [3. Properties API (Ti.App.Properties)](#3-properties-api-tiappproperties)
23
+ - [Overview](#overview)
24
+ - [Data type methods](#data-type-methods)
25
+ - [Usage examples](#usage-examples)
26
+ - [Storing complex objects as JSON](#storing-complex-objects-as-json)
27
+ - [Platform storage](#platform-storage)
28
+ - [4. Advanced data manipulation (Buffer, Codec, and Streams)](#4-advanced-data-manipulation-buffer-codec-and-streams)
29
+ - [5. Choosing a persistence strategy](#5-choosing-a-persistence-strategy)
30
+ - [Decision guide](#decision-guide)
31
+ - [Best practices](#best-practices)
32
+
33
+ <!-- TOC-END -->
34
+
3
35
  ## 1. Filesystem access and storage
4
36
 
5
37
  ### Modules overview
@@ -2,6 +2,18 @@
2
2
 
3
3
  Guide to local and push notifications on iOS and Android.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [Local notifications: Android](#local-notifications-android)
9
+ - [Local notifications: iOS](#local-notifications-ios)
10
+ - [Interactive notifications: iOS (iOS 8+)](#interactive-notifications-ios-ios-8)
11
+ - [Push notifications](#push-notifications)
12
+ - [Common patterns](#common-patterns)
13
+ - [Platform-specific notes](#platform-specific-notes)
14
+
15
+ <!-- TOC-END -->
16
+
5
17
  ## Local notifications: Android
6
18
 
7
19
  ### Notification display locations
@@ -1,5 +1,20 @@
1
1
  # Remote data sources
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. HTTPClient and request lifecycle](#1-httpclient-and-request-lifecycle)
7
+ - [2. Working with JSON data](#2-working-with-json-data)
8
+ - [3. Working with XML data](#3-working-with-xml-data)
9
+ - [4. File uploads and downloads](#4-file-uploads-and-downloads)
10
+ - [5. Sockets](#5-sockets)
11
+ - [6. Dealing with SOAP web services](#6-dealing-with-soap-web-services)
12
+ - [7. SSL certificate and SecurityManager](#7-ssl-certificate-and-securitymanager)
13
+ - [8. CORS considerations for Mobile Web](#8-cors-considerations-for-mobile-web)
14
+ - [Best practices](#best-practices)
15
+
16
+ <!-- TOC-END -->
17
+
3
18
  ## 1. HTTPClient and request lifecycle
4
19
 
5
20
  ### Basic pattern
@@ -2,6 +2,19 @@
2
2
 
3
3
  Practical tutorials and guides for building real Titanium applications.
4
4
 
5
+ <!-- TOC-START -->
6
+ ## Contents
7
+
8
+ - [RESTe - API integration](#reste---api-integration)
9
+ - [Camera app tutorial](#camera-app-tutorial)
10
+ - [Geolocation tutorial](#geolocation-tutorial)
11
+ - [Alloy controller chaining](#alloy-controller-chaining)
12
+ - [Build automation with Fastlane](#build-automation-with-fastlane)
13
+ - [Additional tutorials](#additional-tutorials)
14
+ - [Resources](#resources-1)
15
+
16
+ <!-- TOC-END -->
17
+
5
18
  ## RESTe - API integration
6
19
 
7
20
  ### Overview
@@ -1,5 +1,22 @@
1
1
  # Animation, matrices, and transitions
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Overview](#1-overview)
7
+ - [2. Basic animations](#2-basic-animations)
8
+ - [3. 2D matrix animations](#3-2d-matrix-animations)
9
+ - [4. 3D matrix animations (iOS only)](#4-3d-matrix-animations-ios-only)
10
+ - [5. iOS transitions](#5-ios-transitions)
11
+ - [6. Dynamic animations (iOS only)](#6-dynamic-animations-ios-only)
12
+ - [7. Animation events](#7-animation-events)
13
+ - [8. Common animation patterns](#8-common-animation-patterns)
14
+ - [9. Performance considerations](#9-performance-considerations)
15
+ - [10. Platform differences](#10-platform-differences)
16
+ - [Best practices](#best-practices)
17
+
18
+ <!-- TOC-END -->
19
+
3
20
  ## 1. Overview
4
21
 
5
22
  Animations make state changes easier to read and can help an interface feel responsive. Use them with restraint. Titanium includes:
@@ -1,5 +1,24 @@
1
1
  # Application structures and core building blocks
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Overview](#1-overview)
7
+ - [2. Windows](#2-windows)
8
+ - [3. Views](#3-views)
9
+ - [4. TabGroups](#4-tabgroups)
10
+ - [6. NavigationWindow (iOS)](#6-navigationwindow-ios)
11
+ - [7. Modal windows](#7-modal-windows)
12
+ - [8. Heavyweight vs lightweight windows](#8-heavyweight-vs-lightweight-windows)
13
+ - [9. Window hierarchy and stacking](#9-window-hierarchy-and-stacking)
14
+ - [10. Platform-specific navigation](#10-platform-specific-navigation)
15
+ - [11. Execution contexts](#11-execution-contexts)
16
+ - [12. Common patterns](#12-common-patterns)
17
+ - [13. Best practices](#13-best-practices)
18
+ - [14. Platform differences summary](#14-platform-differences-summary)
19
+
20
+ <!-- TOC-END -->
21
+
3
22
  ## 1. Overview
4
23
 
5
24
  Titanium apps are built from three core components.
@@ -1,5 +1,23 @@
1
1
  # Custom fonts and attributed strings
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Custom fonts overview](#1-custom-fonts-overview)
7
+ - [2. Platform-specific font loading](#2-platform-specific-font-loading)
8
+ - [3. Alloy projects](#3-alloy-projects)
9
+ - [4. Classic Titanium projects](#4-classic-titanium-projects)
10
+ - [5. Finding the PostScript name](#5-finding-the-postscript-name)
11
+ - [6. iOS platform notes](#6-ios-platform-notes)
12
+ - [7. Attributed strings](#7-attributed-strings)
13
+ - [8. Attribute types](#8-attribute-types)
14
+ - [9. iOS-exclusive attributes](#9-ios-exclusive-attributes)
15
+ - [10. Multiple attributes example](#10-multiple-attributes-example)
16
+ - [11. Best practices](#11-best-practices)
17
+ - [12. Common issues](#12-common-issues)
18
+
19
+ <!-- TOC-END -->
20
+
3
21
  ## 1. Custom fonts overview
4
22
 
5
23
  Titanium supports TrueType (`.ttf`) and OpenType (`.otf`) fonts on iOS and Android. Custom fonts are a practical way to match a brand or add a distinct tone to your UI.
@@ -1,5 +1,21 @@
1
1
  # Event handling
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Event listener pattern](#1-event-listener-pattern)
7
+ - [3. Firing events](#3-firing-events)
8
+ - [5. Touch events](#5-touch-events)
9
+ - [6. Named vs anonymous functions](#6-named-vs-anonymous-functions)
10
+ - [7. Removing event listeners](#7-removing-event-listeners)
11
+ - [8. Android hardware button events](#8-android-hardware-button-events)
12
+ - [9. Android menu](#9-android-menu)
13
+ - [10. Event listener best practices](#10-event-listener-best-practices)
14
+ - [11. Special considerations](#11-special-considerations)
15
+ - [Best practices summary](#best-practices-summary)
16
+
17
+ <!-- TOC-END -->
18
+
3
19
  ## 1. Event listener pattern
4
20
 
5
21
  ### Basic pattern
@@ -1,5 +1,22 @@
1
1
  # Gestures
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Overview](#1-overview)
7
+ - [2. Touch events](#2-touch-events)
8
+ - [3. Swipe gesture](#3-swipe-gesture)
9
+ - [4. Pinch gesture (iOS only)](#4-pinch-gesture-ios-only)
10
+ - [5. Long press gesture](#5-long-press-gesture)
11
+ - [6. Shake gesture](#6-shake-gesture)
12
+ - [7. Accelerometer as input](#7-accelerometer-as-input)
13
+ - [8. Gesture lifecycle management](#8-gesture-lifecycle-management)
14
+ - [9. Platform-specific considerations](#9-platform-specific-considerations)
15
+ - [10. Best practices](#10-best-practices)
16
+ - [11. Combining gestures](#11-combining-gestures)
17
+
18
+ <!-- TOC-END -->
19
+
3
20
  ## 1. Overview
4
21
 
5
22
  Titanium supports more than simple taps.
@@ -1,5 +1,22 @@
1
1
  # Icons and splash screens
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [1. Overview](#1-overview)
7
+ - [2. Asset locations](#2-asset-locations)
8
+ - [3. DefaultIcon.png (recommended)](#3-defaulticonpng-recommended)
9
+ - [4. iOS icons](#4-ios-icons)
10
+ - [5. Android icons](#5-android-icons)
11
+ - [6. Android splash screens](#6-android-splash-screens)
12
+ - [7. Localized splash screens](#7-localized-splash-screens)
13
+ - [8. Adaptive icons (Android 8.0+)](#8-adaptive-icons-android-80)
14
+ - [9. Common issues](#9-common-issues)
15
+ - [11. iOS launch files (storyboards)](#11-ios-launch-files-storyboards)
16
+ - [Best practices](#best-practices)
17
+
18
+ <!-- TOC-END -->
19
+
3
20
  ## 1. Overview
4
21
 
5
22
  App icons and splash screens are required for app store submissions and give users a branded first impression.
@@ -1,5 +1,21 @@
1
1
  # Layouts, positioning, and view hierarchy
2
2
 
3
+ <!-- TOC-START -->
4
+ ## Contents
5
+
6
+ - [Critical: platform-specific properties require modifiers](#critical-platform-specific-properties-require-modifiers)
7
+ - [1. Units of measurement](#1-units-of-measurement)
8
+ - [2. Positioning properties](#2-positioning-properties)
9
+ - [3. Layout modes](#3-layout-modes)
10
+ - [4. Auto-size behaviors](#4-auto-size-behaviors)
11
+ - [5. Combining layouts](#5-combining-layouts)
12
+ - [6. View hierarchy and zIndex](#6-view-hierarchy-and-zindex)
13
+ - [7. Common layout patterns](#7-common-layout-patterns)
14
+ - [8. Platform considerations](#8-platform-considerations)
15
+ - [Best practices](#best-practices)
16
+
17
+ <!-- TOC-END -->
18
+
3
19
  ## Critical: platform-specific properties require modifiers
4
20
 
5
21
  Do not use `Ti.UI.iOS.*` or `Ti.UI.Android.*` properties without modifiers. It will break builds.