はじめに

Cordova で whiteoctober/cordova-plugin-app-version を使って、アプリ名やアプリのバージョン情報などを取得する方法。

TL;DR

  • cordova plugin add cordova-plugin-app-version でプラグイン追加
  • 以下で情報取得
    • アプリ名: cordova.getAppVersion.getAppName()
    • パッケージ名: cordova.getAppVersion.getPackageName()
    • バージョンコード: cordova.getAppVersion.getVersionCode()
    • バージョン番号: cordova.getAppVersion.getVersionNumber()
  • async/await でも記述可能
  • OS, OS Version の取得は apache/cordova-plugin-device
続きを読む

はじめに

Cordova Android アプリのビルド時に This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry. のエラーとなる場合の対処方法。

TL;DR

  • platforms/android/gradle.properties を修正する
  • before_compile フックを使うと良い
    • JS ファイルを作成して config.xml に追加
  • Vue + Cordova で npm run cordova-serve-android を使う場合は after_prepare フックも設定
1
2
3
4
5
6
7
8
9
<?xml version='1.0' encoding='utf-8'?>
<widget id="example.app" version="1.0.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
...
<platform name="android">
...
<hook type="after_prepare" src="scripts/android_before_compile.js" /> <!-- ***追加*** -->
<hook type="before_compile" src="scripts/android_before_compile.js" /> <!-- ***追加*** -->
</platform>
</widget>
続きを読む

はじめに

Cordova iOS アプリ, Android アプリで Twitter Timeline の埋め込みを実現する方法。

TL;DR

1
2
3
4
<allow-navigation href="https://*twitter.com/*" />
<allow-navigation href="https://cdn.syndication.twimg.com/*" />
<allow-navigation href="about:*" />
<!-- <allow-navigation href="*" /> 1つでも OK -->
続きを読む

はじめに

Cordova iOS アプリで axios を使っての API Request が Network Error となる場合の回避策。

TL;DR

続きを読む

はじめに

Cordova iOS アプリで、ダークモード設定時にステータスバーの時刻やら電波マークやらが背景色と同化して見えなくなる場合の対処方法。

TL;DR

  • config.xml に以下を追加
    • 対応としては「ライトモードの強制」なので、本質的な対応ではない
1
2
3
<config-file parent="UIUserInterfaceStyle" platform="ios" target="*-Info.plist">
<string>Light</string>
</config-file>
続きを読む

はじめに

Cordova で Android アプリエミュレータ起動時に PANIC: Missing emulator engine program for 'x86' CPU. となる場合の対処方法。

1
2
3
4
$ cordova emulate android
...
Waiting for emulator to start...
PANIC: Missing emulator engine program for 'x86' CPU.

TL;DR

  • cordova-android が未サポートの API level を指定したエミュレータを起動しようとしていることが原因
  • Android Studio で cordova-android がサポートしている API level のエミュレータを作成
    • 2020/06/04 時点では API level 27(Android 8.1) がサポート範囲内での最新
  • デバイス指定でエミュレータ起動: cordova emulate android --target="TARGET DEVICE"
続きを読む

はじめに

Cordova iOS アプリでカメラ(apache/cordova-plugin-camera)のテキストを変更する方法。

デフォルトだと撮影後のボタンが「Retake」や「Use」(Use Photo だったかも)とかになっている。

TL;DR

  • config.xmlCFBundleDevelopmentRegionja_JP に設定する内容を追加
続きを読む

はじめに

Cordova iOS アプリで Deprecated となっている UIWebView から WKWebView へと移行する方法。

TL;DR

続きを読む

はじめに

Vue + Cordova + Firebase でプッシュ通知を利用する方法を整理した。

※Firebase やプッシュ通知の細かい仕様については詳しくないため、最新/最適 でない方法の可能性があることに注意。
※試行錯誤を経て成功した後に情報を整理しているので、手順漏れや実施タイミングが異なるものなどがあるかもしれないことに注意。

関連: Node.js で firebase-admin を使ってサーバからプッシュ通知

TL;DR

続きを読む

はじめに

Cordova の iOS ビルドなどで ios-deploy を使っていて、以下のエラーが出た場合の対処方法。

1
2
3
4
5
...
[100%] Installed package /Users/hoge/app/platforms/ios/build/device/AppName.app
------ Debug phase ------
2019-11-28 12:38:08.078 ios-deploy[24906:291578] [ !! ] Error 0xe800007f: Device doesn't support wireless sync. AMDeviceStartService(device, CFSTR("com.apple.debugserver"), &gdbfd, NULL)
ios-deploy: Command failed with exit code 253

ちなみに、自分の環境ではビルド・デプロイまではできるが、Mac に繋いで Safari 経由でのデバッグができない(iOS デバイスを認識しない)という状態だった。

TL;DR

  • ios-deploy をアンインストール→再インストール で解決
    • rm ~/Library/Developer/Xcode/DerivedData/ios-deploy-*
      • 削除が不安なら一度 mv でリネームするのが良い
    • npm un -g ios-deploy
    • npm i -g ios-deploy
続きを読む

r17n


Softwear Engineer


Fukuoka