You can automize iOS and Android app's build, upload and versioning processes via Mobile App Automizer CLI tool.

Overview

Mobile App Automizer

Mobile App Automizer Demo

You can automize iOS and Android app's build, upload and versioning processes via Mobile App Automizer CLI tool. You can upload your app to Apple App Store, Google Play Store or your own CDN. You can use this tool for platform and frameworks below.

  • Native iOS
  • Native Android
  • React Native
  • Flutter
  • may be others...

Installation

You need to install Node.js first, then install the tool globally using this command:

npm install -g mobile-app-automizer

When the installation is completed, you can define your config's by switching your repo that includes your mobile apps via the command below.

mobile-app-automizer --install

Mobile App Automizer Install

When you define all preferences, a config file called .ma-automizer.js will be automatically added to your repo. You can change this file whenever you want. Don't forget to commit this file so that you don't lose your preferences.

Upload

CDN

If you choose to upload your app to your own CDN then don't forget to update functions and values on the upload section in the file .ma-automizer.js. This tool automatically creates manifest.plist and exportOptions.plist files for iOS app.

Apple App Store (Experimental)

If you choose to upload your app to Apple App Store then this CLI tool automatically will add exportOptions.plist file to your repo.

Google Play Store (Experimental)

If you choose to upload your app to Google Play Store then you should install gradle-play-publisher.

Firebase (Just for iOS)

If you use Firebase, these following files must be included in your repo. Default folder is ios/firebase, if you want you can change this firebase folder path in .ma-automizer.js.

└── myApp
	└── ios
		└── firebase
			├── GoogleService-Info.plist
			├── GoogleService-Info-production.plist
			└── GoogleService-Info-stage.plist

GoogleService-Info-production.plist file must contain production values. GoogleService-Info-stage.plist file must contain stage values. The content of GoogleService-Info.plist file will automatically change once you start new build depending environment value you choose.

For example: If you choose stage environment type while starting build, the content of GoogleService-Info.plist file will change with the content of GoogleService-Info-stage.plist file.

How to use

You can start build, upload and versioning processes with this one line command below.

mobile-app-automizer

Mobile App Automizer Demo

When you execute this command, environment value will be production and versioning value will be patch in default.

Stage

If you want to start the process for stage environment, you can give --stage parameter as below;

mobile-app-automizer --stage

PS: If you give the --stage parameter, this tool will skip versioning process.

Verbose

If you want to see what this tool is doing in the background, you can give --verbose parameter.

mobile-app-automizer --verbose

Versioning

There are 3 types of versioning patch, minor and major. If you're not sure which one you will select, take a look semantic versioning website.

Versioning only work for production environment and default value is patch. If you want to choose the other types, you can give --minor and --major parameters as below.

mobile-app-automizer --minor
mobile-app-automizer --major

PS: If you use versioning, you should have package.json file in your repo.

Support

If you have an issue with this CLI tool, please open an issue.

Contributing

Pull requests are welcome.

License

This project is licensed under the MIT License

You might also like...

Bitcoin thin client for iOS & Android. Built with React Native Google Colab

Bitcoin thin client for iOS & Android. Built with React Native Google Colab

Run bluewallet-Google-Colab https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing Thin Bitcoin Wallet. Built with Reac

Feb 25, 2022

Atsumaru - an open source manga reader application for Android, IOS & Web

Atsumaru is currently in alpha pre-release We're still working on vital components for the reader, follow this repo for updates or join our Discord se

Dec 21, 2022

Simple React Native marquee component,fully implemented using reanimated v2,support to iOS/Android/Web.

@react-native-reanimated-community/react-native-reanimated-marquee Simple React Native marquee component,fully implemented using reanimated v2,support

Sep 25, 2022

Kakapo for Desktop, Web, iOS, Android, Babel, Reflux, ImmutableJs, HowlerJs, Webpack

Kakapo for Desktop, Web, iOS, Android, Babel, Reflux, ImmutableJs, HowlerJs, Webpack

Kakapo is an open source ambient sound mixer for relaxation or productivity, available on the Chrome Web Store. See also: Kakapo for Desktop & Web - K

Sep 15, 2022

A Node.js express middleware that implements API versioning for route controllers

A Node.js express middleware that implements API versioning for route controllers

express-version-route This npm package provides an ExpressJS middleware to load route controllers based on api versions. Implementing API Versioning i

Nov 15, 2022

Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

Jan 8, 2023

Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

Jan 4, 2023

shouganaiyo-loader is a cross-platform Frida-based Node.js command-line tool that forces Java processes to load a Java/JVMTI agent regardless of whether or not the JVM has disabled the agent attach API.

shouganaiyo-loader: Forced Entry for Java Agents shouganaiyo-loader is a cross-platform Frida-based Node.js command-line tool that forces Java process

Sep 19, 2022

Upload or Upload & Publish your bundle (apk or aab) to Huawei AppGallery with ConnectApi

appgallery-publisher Upload/Publish your bundle (apk or aab) to AppGallery automatically with appgallery-publisher Usage Single Javascript File Bash F

Sep 19, 2022

Expo Config Plugin that generates an App Clip for iOS apps built with Expo.

react-native-app-clip Expo Config Plugin that generates an App Clip for iOS apps built with Expo. Warning This plugin is a work in progress and hasn’t

Dec 24, 2022

Mamera is a stupidly silly app developed to test CapacitorJS. It can be found on the iOS App Store.

Mamera This repo is focused on mobile app development for iOS. Although you may be able to build to Android from this repo, this ReadMe was written fo

Mar 30, 2022

A CLI tool to create a NodeJS project with TypeScript CTSP is a CLI tool to make easier to start a new NodeJS project and configure Typescript on it.

A CLI tool to create a NodeJS project with TypeScript CTSP is a CLI tool to make easier to start a new NodeJS project and configure Typescript on it.

CTSP- Create TS Project A CLI tool to create a NodeJS project with TypeScript CTSP is a CLI tool to make easier to start a new NodeJS project and conf

Sep 13, 2022

DEPRECATED - A front-end template that helps you build fast, modern mobile web apps.

Deprecation Note Mobile Boilerplate is no longer maintained. Please use HTML5 Boilerplate as a decent starting point for your project. Mobile Boilerpl

Dec 14, 2022

Fries helps you prototype Android apps using HTML, CSS, and JavaScript.

Fries v2.0.5 Fries is an awesome mobile UI framework for Android apps using just HTML, CSS, and Javascript and is inspired by Ratchet. NOTE: Unfortuna

Dec 29, 2022

Dead simple program to upload NFT data to IPFS via nft.storage

Dead simple program to upload NFT data to IPFS via nft.storage

NFTP The simplest way to publish files and folders to IPFS, with one command. 100% FREE to upload as much files as you want, powered by nft.storage. N

Dec 11, 2022

With this script you can bypass both root detection and ssl pinning for your android app.

frida_rootansslbypas ██████╗ ██████╗ ██████╗ ████████╗ █████╗ ███╗ ██╗██████╗ ███████╗███████╗██╗ ██████╗ ██╗ ██╗██████╗ █████╗

Dec 24, 2022

Enrich your browsing experience, whether it be on mobile (iOS) or your desktop (macOS)

steven's userscripts safari specific AutoScroll.user.js (middle mouse scroll click drag wheel) mobile keyboard.user.js (mobile virtual keyboard shortc

Dec 15, 2022

A shopping mobile application made with react native for Android.

A shopping mobile application made with react native for Android.

Shop App Description This project is a simplified implementation of a shopping system, the project aims to provide the basic features that are expecte

Dec 26, 2022
Comments
  • Adapt automizer for ci-cd pipelines

    Adapt automizer for ci-cd pipelines

    This pr adds new cli arguments to make it easier to use automizer in a ci-cd pipeline. This new features backward-compatible and doesn't break any existing feature.

    Changes;

    • Adds --step argument with version, build and upload values.

      • e.g mobile-app-automizer --step build only runs the build step without respecting ios.build.enabled and android.build.enabled field values in .ma-automizer.js
      • Why we need --step argument? Because if we have an error in a step in the ci-cd pipeline, we want to try that step again. For example, if the cdn upload step didn't work, we just want to retry the upload step without starting over.
    • Adds --packageVersion argument to override package.json version.

    • Adds --androidVersion argument to override android versionCode.

    • Adds --iosVersion argument to override ios CFBundleVersion.

    • Extracts native versioning logic to android.js and ios.js files

    opened by ahmetbicer 0
Owner
Trendyol Open Source
Trendyol Open Source
WPPConnect/mobile is an open source project with the objective of automating whatsapp web using the android or ios mobile browser and being able to perform all the functions of our wa-js project

WPPConnect/mobile is an open source project with the objective of automating whatsapp web using the android or ios mobile browser and being able to perform all the functions of our wa-js project, so it is possible to create a customer service, media sending, intelligence recognition based on artificial phrases and many other things, use your imagination to change and modify this project or collaborate on improvements...

null 11 Dec 28, 2022
Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery. Just plain JavaScript (and some love).

Please note: skrollr hasn't been under active development since about September 2014 (check out the contributions graphs on https://github.com/Prinzho

Alexander Prinzhorn 18.6k Jan 3, 2023
Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code

Defines the communication layer between mobile native(iOS/Android) and webview using JSON Schema and automatically generates SDK code.

당근마켓 31 Dec 8, 2022
🎉 toastify-react-native allows you to add notifications to your react-native app (ios, android) with ease. No more nonsense!

toastify-react-native ?? toastify-react-native allows you to add notifications to your react-native app (ios, android) with ease. No more nonsense! De

Zahid Ali 29 Oct 11, 2022
✨ A tool for versioning, securing and easily sharing environment variables

ev a tool for versioning, securing and easily sharing environment variables initializing • commands • using in your project Features ⏱ Version control

henrycunh 62 Dec 14, 2022
Android/iOS app to teach the Coptic Language

ⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ The Open Source Android/iOS app to learn how to read and understand the Coptic Language Join our Discord Channel About the Curriculum The

Mark Yacoub 8 Aug 30, 2022
A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the link 🔗 or via mail ✉️ which remains active for 24hours 🕙.

eShare | File Sharing App A file sharing service, where you can upload files and provide a download link for anyone on the internet by sharing the lin

Akhil Bhalerao 7 Nov 20, 2022
Ios-calculator-js - Calculator made with vanilla javascript and custom css based on the design of iOS devices.

ios-calculator-js This is a practice project in which I try to replicate iOS calculator's both logic and styling. In case you spot room for improvemen

Franco 1 Nov 10, 2021
This is an upload script which allows you to upload to web3 storage using JS.

This is an upload script which allows you to upload to web3 storage using JS. first make sure to run npm install on the directory run script using nod

null 1 Dec 24, 2021
Perfect pressure-sensitive drawing for both iOS and Android.

rn-perfect-sketch-canvas A React Native component for drawing perfect pressure-sensitive freehand lines using perfect-freehand and Skia renderer. Inst

Robert Soriano 75 Jan 3, 2023