GoogleService-Info.plist の配置位置が変わった?

[Firebase/Core][I-COR000001] Configuring the default app.
Terminating app due to uncaught exception ‘com.firebase.core’,
reason: ‘Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options.’

以前は GoogleService-Info.plist ファイルは
root フォルダに配置だったのに、以下フォルダに自動的に配置されていて、なのに必要な情報が未設定だったので、上書き

platforms/ios/Resources/GoogleService-info.plist

clang -fobjc-weak is not supported

visual studio 上の cordova で ios プロジェクトを出力
cordova も 7.1.0 などになり、xcode に持っていった後もプロビジョニングファイルを
変更するだけでOKだと思っていたのに、急に表題のエラーが発生。

かなり悩んだが、
Deployment Target が何故か 1 と設定されていたのを、11.4などと最新版にするだけで解決。

visual studio で cordova ツールセットのバージョンアップ

confix.xml から ツールセット名を
cordova 6.3.1 から Global cordova 7.1.0 に変更した
警告で、なにかリンクが出ているが
https://docs.microsoft.com/en-us/visualstudio/cross-platform/tools-for-cordova/first-steps/toolsets?view=toolsforcordova-2017

サーバーから取得するだけの説明で問題なさそう。

しかし、実行しようとすると以下のようなエラーが。

at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Module._compile (module.js:460:26)
SyntaxError: Use of const in strict mode.
at Module._compile (module.js:443:25)
at require (module.js:384:17)
const path = require(‘path’);
at Object.Module._extensions..js (module.js:478:10)

調べていくうちに、 私の windows の node.js が v0.12.2 という驚きの古さ。
おすすめ版を 以下から取得。
https://nodejs.org/en/

その後、cordova のコンパイルはとりあえず通った。

ただ、iOS へのリモートコンパイル時、以下のようなエラーが発生。
System.IO.FileNotFoundException: ファイル ‘appAsTgz.tgz’ が見つかりませんでした。

なにかの不具合だと思われるが
node-v6.14.3-x64.msi をインストールし直すことで、iOS版も出力できた。

Android バージョンをなににするか?

基本的には以下のサイトで検討
https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels

最小APIレベル    19
最大APIレベル    指定しない
ターゲットAPIレベル 24
※現時点

バージョンコード は1から連番もしくは、日時201806221234 というのもアリ?
バージョンネームは 1.0.0 など文字列で

※2018/11 からは ターゲットAPIレベル 26 以上にする必要あり

bootbox.alert を実行するとすぐにダイアログが閉じる

button だとダメ、 a タグだと大丈夫。
jQuery の処理で閉じられているので、そのあたりも調べる必要ありそう

<button class="btn btn-primary pull-right submit" id="import" onClick='bootbox.alert("hello");'>インポート</button>

<a class="btn btn-primary pull-right submit" id="import" onClick='bootbox.alert("hello");'>インポート</a>

cordova で fcm を使うためGoogleService-Info.plist を追加したところでエラーが発生する

iOS で いつも通りに
GoogleService-Info.plist
を root に追加して、コンパイルすると以下のエラーが発生した。

Terminating app due to uncaught exception ‘com.firebase.core’, reason: ‘Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options.’

原因は
Resources / Resources フォルダーに 既に GoogleService-Info.plist が入っていたこと
何で急に入るようになったのか。

とりあえず、勝手に入っているファイルを上書きしてコンパイルが通るようになった。

iOS で FCM

以前より送るための準備(設定)の手間が増えていた。

Android だと、設定ほとんどなく送れたのに・・・

Apple Developer サイト Certificates, Identifiers & Profiles にて

Identifiers の AppIDs に Push Notifications をチェックするのは必要
Configurable の状態のままでも大丈夫。

そして
Create New Key が必要。

Key Description は適当に バンドルIDのピリオドを 半角スペースにした名前にしてみた
com.hogehoge.app

com hogehoge app push

①Key ID と ②AuthKey_[KEY ID].p8 ファイルを手に入れることができる

あと、Apple Developer サイト Membership Details にて
③Team ID も必要になる

firebase サイト 設定 → クラウドメッセージング の
iOS アプリの設定 より
②AuthKey_[KEY ID].p8
①Key ID
③Team ID
を設定