Download the PHP package akyos/ux-native-cli without Composer

On this page you can find all versions of the php package akyos/ux-native-cli. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ux-native-cli

akyos/ux-native-cli

Bundle Symfony qui expose des commandes console pour générer des coques Hotwire Native minimales (Android et iOS) à partir de modèles, puis lancer les outils natifs (Gradle, xcodebuild) depuis la racine du projet PHP.

Installation

Enregistrez le bundle si Flex ne le fait pas automatiquement :

Dépendance suggérée

Pour la détection côté serveur et la configuration des chemins JSON Hotwire Native dans Symfony, le package officiel est recommandé :

Configuration

Créez config/packages/native.yaml (l’alias d’extension est native).

Clé Défaut Rôle
app_name NativeApp Nom affiché de l’application native.
url http://127.0.0.1:8000 URL de base du backend (remplacée dans les modèles). À adapter pour un téléphone ou un émulateur (IP LAN, tunnel, etc.).
application_id com.example.nativeapp Identifiant Android (applicationId). Le code Kotlin est déplacé vers le chemin de package correspondant.
bundle_id com.example.nativeapp Identifiant iOS (bundle identifier).
android_path null Répertoire du projet Android. Si null : {project_dir}/native/android.
ios_path null Répertoire du projet iOS. Si null : {project_dir}/native/ios.
android_gradle_task assembleDebug Tâche Gradle exécutée par native:build pour Android. Influence aussi le chemin de l’APK utilisé pour adb install (debug vs release).
ios_scheme NativeApp Schéma Xcode passé à xcodebuild.
ios_project NativeApp.xcodeproj Nom du projet Xcode (fichier .xcodeproj dans ios_path).
ios_product_name null Nom du produit (dossier .app, ex. NativeApp). Si null : identique à ios_scheme.
ios_derived_data_path null Dossier DerivedData pour les builds CLI. Si null : {ios_path}/build/DerivedDataCli. Peut être un chemin absolu.
android_home null SDK Android explicite pour Gradle et pour localiser adb. Sinon : variable d’environnement ANDROID_HOME, puis emplacements usuels (voir ci-dessous).
java_home null JDK pour Gradle. Sinon : JAVA_HOME dans l’environnement.

Exemple avec variables d’environnement

Déclarez les clés dans .env / .env.local, puis référencez-les :

Si vous préférez ne pas passer par l’injecteur d’environnement, laissez android_home et java_home à null et exportez ANDROID_HOME / JAVA_HOME dans le shell qui lance bin/console.

Prérequis outillage

Si ANDROID_HOME n’est pas défini, la recherche de adb tente notamment :

Commandes

native:init

Copie les modèles Android et iOS vers native/android et native/ios (ou les chemins configurés), remplace les jetons (%NATIVE_APP_NAME%, %NATIVE_BASE_URL%, etc.) et réorganise le package Kotlin si application_id diffère du modèle par défaut. Le projet iOS inclut un schéma partagé NativeApp.xcodeproj/xcshareddata/xcschemes/NativeApp.xcscheme pour que xcodebuild en CLI résolve correctement les destinations (sans quoi : Supported platforms for the buildables in the current scheme is empty).

Option Description
--force Supprime et recrée les répertoires cibles s’ils ne sont pas vides.
--app-name, --url, --application-id, --bundle-id Surchargent la configuration YAML pour cette exécution uniquement.

Les répertoires de sortie ne doivent pas être vides sans --force.

native:build

Lance le build natif selon la plateforme.

Option Défaut Description
-p, --platform android android, ios ou all (Android puis iOS).
--install / --no-install install activé Après un build réussi : Android → adb install -r ; iOS → appareil USB (devicectl / ios-deploy) ou simulateur (xcrun simctl install sur l’UDID choisi).
--ios-target — Filtre macOS : device (uniquement si au moins un appareil USB est détecté) ou simulator (uniquement si au moins un simulateur est démarré). Sans filtre, la liste proposée mélange uniquement les appareils réellement branchés et les simulateurs réellement bootés.
--ios-destination — macOS : device:UDID ou simulator:UDID pour fixer la destination sans question (recommandé avec -n / CI).

Comportement Android :

Comportement iOS :

native:qr-install

Sert les artefacts via php -S 0.0.0.0 et un routeur qui propose APK (/d/app.apk) et éventuellement IPA (/d/app.ipa). Un QR code pointe vers l’URL utile selon --platform.

Option Défaut Description
-p, --platform all all : une URL racine http://IP:port/ — le serveur envoie une redirection HTTP 302 vers l’APK si le User-Agent ressemble à Android, vers l’IPA si iPhone/iPad/iPod, sinon une page HTML avec les deux liens. android : QR direct vers l’APK. ios : QR direct vers l’IPA (macOS requis pour produire l’IPA).
--host (auto) IPv4 dans l’URL. Sinon --host=…. L’auto-détection utilise une socket UDP (extension sockets utile).
--port 9876 Port d’écoute (essai des suivants si occupé).
-b, --build non Lance native:build sans installation : Android et/ou iOS selon --platform. Sur macOS, la partie iOS exige au moins un appareil USB (le premier est utilisé ; avertissement si plusieurs — pour choisir : native:build --ios-destination=device:UDID). Sous Linux, all ne build que Android.
--apk — Chemin absolu vers un .apk (ignore la sortie Gradle).

Réseau : même Wi‑Fi que la machine. Android : téléchargement de l’APK puis installation (sources inconnues selon l’appareil). iOS : un IPA récupéré en HTTP ne s’installe pas comme un APK (pas d’OTA App Store) ; utilisation typique : Xcode → Fenêtre → Appareils et simulateurs en important l’IPA, ou outils MDM / TestFlight pour la distribution.

La commande doit être interactive (Entrée pour arrêter). Les chemins absolus sont passés au sous-processus php -S via NATIVE_APK_PATH, NATIVE_IPA_PATH, NATIVE_PUBLIC_BASE (évite les problèmes d’héritage d’environnement).

Outils : ligne de commande zip pour empaqueter l’IPA à partir du .app (présent sur macOS).

native:dev

Affiche un rappel du flux de développement (URL de base, serveur Symfony, émulateur / appareil, liens documentation).

Option Description
--server Si la CLI symfony est dans le PATH, tente symfony server:start à la racine du projet (processus bloquant).

Flux typique

  1. Configurer config/packages/native.yaml et les variables d’environnement nécessaires.
  2. php bin/console native:init (éventuellement --force pour régénérer).
  3. Démarrer le backend pour que l’URL configurée soit joignable depuis l’émulateur ou le téléphone (native:dev ou symfony server:start, etc.).
  4. php bin/console native:build --platform=android pour compiler et, par défaut, pousser l’APK sur un appareil USB (adb), ou native:qr-install -p android --build pour le QR réseau.
  5. Sous macOS : php bin/console native:build --platform=ios --install pour compiler (iphoneos) et installer sur l’iPhone branché, ou native:qr-install --platform=all --build pour un QR unique (redirection Android / iOS selon le téléphone).

Ressources

Licence

MIT (voir le fichier composer.json du package).


All versions of ux-native-cli with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
endroid/qr-code Version ^5.0
symfony/config Version ^7.0|^8.0
symfony/console Version ^7.0|^8.0
symfony/dependency-injection Version ^7.0|^8.0
symfony/filesystem Version ^7.0|^8.0
symfony/framework-bundle Version ^7.0|^8.0
symfony/http-kernel Version ^7.0|^8.0
symfony/process Version ^7.0|^8.0
symfony/yaml Version ^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package akyos/ux-native-cli contains the following files

Loading the files please wait ...