月別アーカイブ 8月 2018

村上 著者:村上

【Cordova】「invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options」エラーの対処法

Cordovaとありますが、詳しくはCordovaで開発したアプリをXcodeで実行した際に発生したエラーです。
ビルドは成功するのですが、実行しようとすると起動中に落ちてしまいます。
なお、このエラーはプラットフォームを一旦削除して追加しなおしたりすると、よく発生するような気がします。

エラー全文はこちら。

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.’

firebase の単語が入っているので、通知のプラグイン辺りのエラーかと思うのですが、正しい原因は「GoogleService-Info.plist」というファイルの内容が、何らかの影響で書き換わってしまったためです。

このエラーについて、詳しくは下記のサイトを参考にしてください。

iOS : invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options #308 – fechanique/cordova-plugin-fcm – GitHub
https://github.com/fechanique/cordova-plugin-fcm/issues/308

 

対処法ですが、こちらは簡単です。
まず、Cordovaアプリのディレクトリの下記の場所にある「GoogleService-Info.plist」のファイルを削除します。

platforms/ios/[プロジェクト名]/Resources/Resources

ファイルを消してしまうことが心配なら、デスクトップなど、一旦どこかにバックアップを取っておきましょう。

で、ファイルを削除したら、下記のその一つ上のディレクトリにある同名のファイル「GoogleService-Info.plist」を、同じ場所にペーストします。

platforms/ios/[プロジェクト名]/Resources/

あとは、通常通りアプリをビルド・実行すれば問題なく動作しました。

 

以上、Cordovaアプリが実行できない時の対処法でした。
何でも、GoogleService-Info.plist のファイルが何らかの影響で壊れてしまうことは、頻繁ではないにしろ発生する事らしいので、エラー文をよく読んで、「GoogleService-Info.plist」の文字があったら、このファイルの破損を疑ってください。
意外と原因がわかりにくく、原因判明まで時間を使ってしまうエラーなので、少しでも誰かの助けになれば幸いです。

  • この記事いいね! (0)
著者:杉浦

UTC、UNIX時間、ユリウス通日

 システムにおいて暦の変換処理というのは往々にして面倒なものです。慣れ親しんだ近年の年月日時分秒でさえ一月の長さの違い、閏日あたりが手間です。これが縁もゆかりもなさそうなイスラム常用暦やインド国定暦になると大変です。そのような手間を省くために世界中で利用する事を目的とした暦があります。UTC、UNIX時間、ユリウス通日はそのような暦です。
 UTC(協定世界時)は世界中を対象としたシステムの基盤としてよく使われる暦です。UTCは非常に正確に時間を刻む原子時を元にしています。地球の自転一周が一日となる様に、変化する自転の周期に合わせてUTCには適宜閏秒が挿入されます。UTCを基準に世界各地の標準時、タイムゾーンなどが決められています。GPS衛星に組み込まれている原子時計もこのUTCに同期して開始されました。
 コンピュータの世界においてよく用いられる暦の単位のひとつがUNIX時間です。UNIX時間はUTC1970年1月1日0時0分0秒からの秒数で表される暦です。分も閏もありません。UNIX時間はとにかく扱いが簡単な暦です。この点からよくコンピュータシステムの内部で用いられます。ユーザに向けて表示する時点ではその時々に合った暦に変換するわけです。
 世界にはUTC1970年1月1日0時0分0秒の記録もあり、各地各時の暦はまちまちです。ユリウス通日はそのような過去の出来事を統一した日付で扱うための暦です。ユリウス通日は紀元前4713年1月1日正午からの経過日数で表されます。ユリウス通日を用いると元禄15年12月14日=グレゴリオ暦1703年1月30日の様な比較が簡単になり餡巣。
 GNSS衛星による測位には時刻が密接にかかわっています。GNSS衛星における時刻の話にはUTC、UNIX時間、ユリウス通日がよくでます。
 国立天文台の暦計算室には、この手の話が多く詳しく載っています。

  • この記事いいね! (0)
asaba 著者:asaba

twitterあれこれ

SNSってたくさんありますよね。

自分はよく知り合いと連絡したり好きなアーティストの情報収集にtwitterを使っています。

 

そんなtwitterにログインした時に、消したはずのもう一つのアカウントが蘇生しているというよく分からない事態がおきました。

調べてみるとtwitterの仕様でした。

twitterにはアカウントを消しても30日という最後の猶予期間が与えられ、その30日以内に消したアカウントでログインをすると復活してしまうみたいです。

一回ログインすると、フォローフォロワー設定など丸々復活してしまい、また同じ削除作業をしなければいけません。

とても面倒なので一度消したらそのアカウントは触らずにすっぱり忘れてしまいましょう。

 

余談ですが、自分の使っているtwitterでは理解しがたいことが多々起きており頭を抱えています。

・twitterアプリでつぶやきフィルターの設定ができない

・30日経ったはずのアカウントがまだ残っている←

・フォロワー数が勝手に増えたり減ったりする

・同じフォロワーから何回もフォローされましたと通知が届く

解せない・・・

実名と住所を出したくないからfacebookよりtwitter派なのに

 

  • この記事いいね! (1)
takahashi 著者:takahashi

SIMハイジャック犯、ついに逮捕される。

以前こちらでも紹介したSIMハイジャック事件ですが、ついに犯人が逮捕されたようです。

携帯電話番号を何十件も乗っ取って総額5億円以上を盗んだ疑いで大学生ハッカーが逮捕される – Gigazine

気になるのはどうやって犯人を特定したか、というところですが、Gigazineによると乗っ取られたSIMカードを使っていた端末から、持ち主が所持していない不審な端末を割り出し、さらにその不審な端末のIMEI(端末の個体識別のようなもの)と紐づいているアカウントをGoogleに照会したことで、そのアカウントの持ち主=犯人 の特定ができたようです。
カリフォルニア州警察、なかなかやります。

そして、今回少し驚いたことは、Googleなどの企業がちゃんとIMEIをアカウントとセットで管理していたという点。
被害者にとってみれば、とても貴重で強力な情報となります。今後何らかの事件で調査が必要になった際も助けになるかもしれませんね。

  • この記事いいね! (0)
asaba 著者:asaba

iphoneの色々なバックアップ方法

iphoneは様々なバックアップ方法があります。

例えば、icloudは、ネット上にデータを保存してpcやipadでも共有することができます。

新しくiphoneを買い替えても、ネット上に保存したデータがあれば前のiphoneと何の代わりもなく使うことができます。

pcを持っていない方はこの方法でデータをバックアップするのですが、5GBと少なく、写真や音楽をたくさん持っている方には不向きかもしれません。

 

筆者は、旅行や音楽鑑賞など趣味の関係で写真や曲を都度都度増やしているので、itunesで大量にバックアップしています。

無料でデータを多めに保存できるので、pcを持っている人は大体これなのかな?と思います。

欠点といえば写真や連絡先が見れない位です・・・。

 

このままでも十分な働きなのですが、個人的に将来pcを買い替えるときに備えてAnyTransを購入しようかなと考えています。

itunesは自身にバックアップされている状態の主体に書き換えるので、iphoneにのみ存在するデータを持ったままitunesで同期してしまうと、そのデータも上書きされてしまい消えてしまうからです。

このAnyTransは

・iphoneからpcへデータの転送ができる

・バックアップのサポート範囲がすごく広い(アプリやアマゾンの購入履歴、メッセージやsnsアカウントなど)

・pcから簡単に操作でき、UIが分かりやすい

・同期時間が早い(100曲を60秒以内で転送完了)

itunesにはない機能も備えており、有料ですがそれに見合った働きをしてくれるのは間違いなさそうですね。

個人用ライセンスでも3999円と割とリーズナブルなのは嬉しいです。

pcが古いと同期中に稀に固まるなど欠点があるみたいですがそれに目を瞑ればとても融通が利く子なので

itunesからAnytansに移行した人も多いのでは?と感じます^^

 

p.s.筆者は性格上ファイル管理がとてつもなく雑なので、かっこよくスマートに整理できるようになりたいです

  • この記事いいね! (1)
著者:杉浦

OnlinePHPFunctionsの紹介

 OnlinePHPFunctions – Test PHP functions onlineはPHPのオンライン実行環境です。要は自分でサーバを立てずともPHPを実行できる簡単な環境です。
 OnlinePHPFunctionsの主な機能はSandboxとPHP Functionsです。Sandboxでは下図の様な簡単なエディタでPHPを記述、実行できます。

 OnlinePHPFunctionsの特に好きな点は様々なverのPHPを容易に動かせる点です。4.4.9~7.2.4まで様々な環境があり、コードが使えるか使えないかを試せます。例えばPHPにおいて配列の定義構文としてarray()の代わりに[]が使えるようになったのはPHP5.4からです。そのため先ほどのコードの設定をRun on PHP version:5.3.0に変更すると次の様になります。

 使えない構文として文法エラーをもらうことなりました。PHP Functionsではこのサンドボックス機能を活かして実際に動くPHPの関数を見ることが出来ます。

  • この記事いいね! (0)
村上 著者:村上

【アプリ】Webアプリがネイティブアプリのように使える「PWA(Progressive Web Apps)」

業務でネイティブアプリの開発をすることが多いですが、今回、初めて「PWA」というものに触ってみました。
PWA とは「Progressive Web Apps」の略で、「プログレッシブWebアプリ」という、Webアプリをネイティブアプリのように使えるようにするしくみのことです。
これを使うことにより、モバイル端末でWebページを表示する際、ネイティブアプリのような挙動をさせることが出来ます。

PWAについては、こちらのサイトを参考にさせていただきました。

いまさら聞けないPWAとAMP – Qiita
https://qiita.com/edwardkenfox/items/4c0b9550ffa48c1f0445

サンプルあり!Googleが推奨するPWAに既存サイトを対応させる方法 – WPJ
https://www.webprofessional.jp/retrofit-your-website-as-a-progressive-web-app/

特に下のサイトがおすすめ!
GitHubのサンプルコードも紹介しているので、とりあえず PWA ってどんな感じ?という人が試しに触るのにはちょうどいいと思います。
やはり 0からコードを書くよりも、ひな形があるほうが簡単ですしね!

 

さて、まずWebサイトを PWA 対応させるためにやらなければならないことは下記のとおりです。

  1. WebサイトをSSL化する(HTTPSを有効にする)
  2. Webアプリのマニフェストを JSON で作る
  3. Service Workersを作る

最低やらなければいけないことは、上記の3点です。
特に 3.Service Workersを作る については、私はなかなか理解するのが難しかったので、最初はサンプルコードをそのままコピーして利用しています。

また、PWA はキャッシュを保存してオフラインでも動作する仕様になっています。
そのため、開発中は Google Chrome のシークレットウィンドウを使い、キャッシュを残さないようにすると開発がしやすいらしいです。
ただし、ホーム画面に追加する機能のテストは、シークレットウィンドウでは動かないので、その点はご注意ください。

 

まだ触り始めたばかりなので、挙げられる注意点は以上です。
正直、アプリを開発するよりもかなり楽なので、新しいサービスの開発を考えている方は、PWAの使用も視野に入れてみてはいかがでしょうか。

  • この記事いいね! (1)
takahashi 著者:takahashi

Google Chrome Ver.68でChromeの新しいデザインが利用可能に。

Google Chrome で追加されたのは、SSLの警告だけではありません。
Chrome Ver.68から、タブデザインも変更された、マテリアルデザインに準拠した新しいデザインが利用できるようになりました。

「Google Chrome 68」で新“マテリアル”なタブバー・ツールバーを体験しよう – 窓の社

有効化方法は毎度おなじみchrome://flagsから。

chrome://flags#top-chrome-md

とURL欄に打ち込むとすぐに見つけることができます。

UI Layout for the browser’s top chrome のプルダウンを “Default”から”Refresh”(タッチパネル対応の場合は”Touchable Refresh”)に変更します。

再起動を促されるのでChromeを再起動。


デザインががらりと一新されていますね。
タブも丸みを帯びたデザインへと変更されてて、ちょっとFirefoxっぽい見た目となっています。


そして細かいですがユーザー切り替えボタンが最小化ボタンの隣から、拡張機能アイコンの右側へ移動となりました。
これはこれですっきりしていていいかもしれません。

デザイン変更と細かな配置変更以外は特に違いは見つけられませんでしたが、新しいタブを開く際のボタンが、タブの最後尾から左端に移動してしまい、ちょっと直感性が落ちてしまったのが残念です。

まだ実験版とのことなので、今後のアップデートでさらに使いやすくなっていくことを期待したいと思います。

  • この記事いいね! (0)