npmコマンドは
Node.js をインストールすることで使えるようになる。
windows もmac も同じ。
cannot find module ‘android-versions’ が出るようになった
コマンドプロンプトより
config.xml のフォルダーに移動。
npm install android-versions –save
を実行することで足りなくなっているファイルがインストールされる
VisualStudioではなく、コマンドラインでcordovaコンパイル&実行
コマンドプロンプトより
config.xml のフォルダーに移動
cordova run android -device
でAndroid 実機で実行できる。
既に、アプリがインストールされている時は
cordova run android -device -r
で上書き。
iOSカメラ起動時、アプリが落ちる
こちらは手動で登録しないといけなさそう。
xxxxxx-Info.plist を xcode で開いて
Key を追加
Privacy – Camera Usage Description value に説明文を
ついでに以下のキーと説明を追加しておこう。
Privacy – Photo Library Additions Usage
purchase を追加時、iosで ’Cordova/NSData+Base64.h’ file not found のエラーが発生
Android ではうまくいきそうだったのに、iosではエラー
cordova-plugin-purchase を削除し
git から
https://github.com/j3k0/cordova-plugin-purchase.git
を追加。
ios でもコンパイルが通った。
iOS 課金テスト
App Store Connect で新規アプリを追加する
Bundle ID を合わせておく。
機能 → App内課金 から
テストで使用する商品を登録する
製品ID を合わせておく
トップに戻って、
ユーザーと役割 → Sandboxテスター から
課金テストをするApple IDを登録する(既にあればそれを利用する)
テストに使用する iPhoneで課金テストのアカウントでサインインし直す。
Android で課金テスト「出版社はこのアイテムを購入できません」でる
出版社という意味が良くわからないが、
開発者アカウントではという意味だと思われる。
「開発者アカウントではこのアイテムを購入できません」
テスト用に別のアカウントを作成してAndroidに設定して動作確認。
とても面倒くさい。
「指定したアイテムを購入できません」と出たら
テストアカウントでログインされていない可能性もあるので、
アカウントを変更してから、アプリをストアからダウンロードして確認。
重要なことは、テストで課金してしまわないように
テストを行うアカウントを
google play console の
設定 → デベロッパーアカウント → アカウントの詳細 → ライセンス テスト に
カンマ区切りでアカウントを追加しておくこと
そうすると、購入ダイアログで
「これはテスト用の注文です。課金は発生しません。」
と表示される。
Android で課金テスト
google play console でアプリを登録する
画面キャプチャーやアイコン等も必要なのでそれなりに準備が必要
テストなんで、
「内部テスト版」で設定。
色々設定して、申請すると1時間くらいして、公開される。
そうすると、以下のようなURLが出てくるので
テストユーザーに登録している端末でアプリをダウンロード
https://play.google.com/apps/internaltest/999999999999999999999
一度でも流れがわかっていたらたいしたことないんだけどね。
purchase を使用時、’Cordova/NSData+Base64.h’ file not found のエラー
android では利用できそうだったのに、iosだとエラー
cordova-plugin-purchase をアンインストールして
https://github.com/j3k0/cordova-plugin-purchase.git を
git でインストールしたら、iosでもコンパイルが通った。
iOS で navigator.geolocation.getCurrentPosition が効かない
xxxxxx.plist ファイル内に
参考:https://dev.classmethod.jp/smartphone/iphone/ios10-privacy-data-purpose-description/
iOS11 から
NSLocationAlwaysUsageDescription 位置情報へのアクセス (常に許可)
は使えなくなったみたい