@stapxs/capacitor-sync-version
TypeScript icon, indicating that this package has built-in type declarations

1.0.10 • Public • Published

capacitor-sync-version

npm package version

Syncing version from package.json to target platform in the capacitor projects.

本 fork 额外对 Capacitor 项目目录自定义进行了支持,将会读取项目目录下的 capacitor.config.json 文件(或 capacitor.config.ts 文件)中对应的自定义目录配置。

Currently supported platforms are: [android, ios].

Installation

npm add --save-dev capacitor-sync-version

Additional preparation for Android only

Step 1. Create a file named app.properties in ./android/app/, then add the following properties:

versionName=0.0.1
versionCode=1

These properties will be updated when capacitor-sync-version running.

Step 2. Adjust codes to referrence these properties in ./android/app/build.gradle.

  • Add the following codes after apply plugin: 'com.android.application':

    def appProperties = new Properties();
    file("app.properties").withInputStream { appProperties.load(it) }
    
  • Update properties in defaultConfig {} block:

    defaultConfig {
      versionCode appProperties.getProperty("versionCode").toInteger()
      versionName appProperties.getProperty("versionName")
    }
    

iOS 平台附加功能

本 fork 支持了对 Settings.bundle 中的版本号的同步。如有需要请自行添加 Settings.bundle 文件夹到 iOS 项目中,添加于 App 目录下即可。

./ios/App/ 目录下创建 Settings.bundle 文件夹,然后在 Settings.bundle 文件夹下创建 Root.plist 文件,内容需要包含一个 Key 值为 version 的 String 类型的 Item。 PS: 不一定必须是 Title 类型,本项目只会修改 Key 为 version 的 String 类型的 Item 的 Value 值。

<dict>
	<key>Type</key>
	<string>PSTitleValueSpecifier</string>
	<key>Title</key>
	<string>版本</string>
  <!-- 需要包含这部分内容 -->
	<key>Key</key>
	<string>version</string>
	<key>DefaultValue</key>
	<string>3.0.0</string>
  <!-- End -->
	<key>IsSecure</key>
	<false/>
	<key>KeyboardType</key>
	<string>Alphabet</string>
	<key>AutocapitalizationType</key>
	<string>None</string>
	<key>AutocorrectionType</key>
	<string>No</string>
</dict>

Usage

The simplest way to use capacitor-sync-version is running it in the capacitor hooks.

Just adding the following script to package.json:

{
  "scripts": {
    "capacitor:copy:before": "capacitor-sync-version"
  }
}

In this way, capacitor-sync-version will be run before capacitor copy command, e.g., npx cap copy.

Other ways to run capacitor-sync-version are:

# sync for android only
capacitor-sync-version android

# sync for both android and ios
capacitor-sync-version android ios

Licence

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @stapxs/capacitor-sync-version

Weekly Downloads

21

Version

1.0.10

License

MIT

Unpacked Size

12.1 kB

Total Files

12

Last publish

Collaborators

  • stapxs