はじめに

NativeScript でアプリのバージョン情報などを取得する方法。

TL;DR

この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list

目次

  1. はじめに
  2. TL;DR
  3. 環境・条件
  4. 詳細
    1. セットアップ
    2. 使い方
    3. Tips
      1. 何の情報を取得しているのか
      2. バージョン比較がしたい
  5. まとめ
  6. 参考文献

環境・条件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101

$ node -v
v12.7.0

$ npm -v
6.14.5

$ tns --version
6.7.8

$ grep -C1 version package.json
"tns-android": {
"version": "6.5.1"
},
"tns-ios": {
"version": "6.5.1"
}

$ tns plugin
Dependencies:
┌───────────────────────────────┬─────────────────────┐
│ Plugin │ Version │
│ @nativescript/theme │ ^2.2.1 │
│ @vue/devtools │ ^5.0.6 │
│ nativescript-appversion │ ^1.4.4 │
│ nativescript-background-http │ ^4.2.1 │
│ nativescript-socketio │ ^3.2.1 │
│ nativescript-toasty │ ^1.3.0 │
│ nativescript-vue │ ^2.4.0 │
│ nativescript-vue-devtools │ ^1.2.0 │
│ tns-core-modules │ ^6.0.0 │
└───────────────────────────────┴─────────────────────┘
Dev Dependencies:
┌────────────────────────────────────┬─────────┐
│ Plugin │ Version │
│ @babel/core │ ^7.0.0 │
│ @babel/preset-env │ ^7.0.0 │
│ babel-loader │ ^8.0.2 │
│ nativescript-dev-webpack │ ^1.0.0 │
│ nativescript-vue-template-compiler │ ^2.0.0 │
│ nativescript-worker-loader │ ~0.9.0 │
│ node-sass │ ^4.9.2 │
│ vue-loader │ ^15.4.0 │
└────────────────────────────────────┴─────────┘

詳細

基本的に公式の通り

セットアップ

tns plugin add でプラグインのインストール

1
$ tns plugin add nativescript-appversion

使い方

メソッドは 非同期/同期 どちらも使える。 Sync 付きのものは同期。

1
2
3
4
5
6
7
8
9
10
11
import * as appVersion from "nativescript-appversion";

const appId = appVersion.getAppIdSync();
// => 'com.hoge.fuga'

const versionName = appVersion.getVersionNameSync();
// => '1.0'

const versionCode = appVersion.getVersionCodeSync();
// => '1.0.1' ※iOS の場合
// '10001' ※Android の場合

Tips

何の情報を取得しているのか

getVersionName[Sync]
  • iOS: Info.plistCFBundleShortVersionString
  • Android: AndroidManifest.xmlandroid:versionName
getVersionCode[Sync]
  • iOS: Info.plistCFBundleVersion
  • Android: AndroidManifest.xmlandroid:versionCode

バージョン比較がしたい

Node.js で semver 形式のバージョンを比較 でまとめた omichelsen/compare-versions を使えば OK。

まとめ

参考文献

関連記事

この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list