新型コロナウイルス 接触確認アプリ 1.4.0

コロナ接触確認アプリ「COCOA」、バージョンアップで起動不能に iPhone版、Android版ともに - ITmedia NEWS

ったくなにやってんだか



キャッシュ/ストレージともに消去で起動した


11/26 追記
起動できなくなっていた「COCOA」に修正版 まずはiOS版から - ITmedia NEWS
新型コロナウイルス接触確認アプリ(COCOA) COVID-19 Contact-Confirming Application - 厚生労働省

11/27 追記
COCOA v1.4.0 が起動しない #517 - GitHub

v1.4.0のマイグレーション処理(不具合の原因になったもの)についても、v1.2.2の内容とおおむね同じ処理をしています。

ぼくが考え違いをしていたのは、この処理の中で「applicationPropertyServiceに指定したキーがなかったときにnew DateTime()を設定しておく」という処理がが、めったに発生しないと考えていたことです。

しかし、実際にはv1.1.5からv1.2.0を経由せず直接1.2.2にアップデートするとここを通ります。その場合、Application.PropertiesにはTermsOfServiceLastUpdateDateTimeとPrivacyPolicyLastUpdateDateTimeのキーは存在しないからです。

また、v1.1.5からv1.2.0にアップデートした場合でも、プライバシーポリシーのPrivacyPolicyLastUpdateDateTimeのキーは作成される可能性がありますが(利用者がCOCOAを起動してプライバシーポリシーに再同意する)、利用規約の合意時刻TermsOfServiceLastUpdateDateTimeのキーは作成されません(IsOptinedを確認しているだけの挙動)。

つまり、v1.1.5以前のバージョンからv1.2.2以降のバージョンにアップデートしてこのマイグレーション処理が実行されると、TermsOfServiceLastUpdateDateTimeとPrivacyPolicyLastUpdateDateTimeにはnew DateTime()の値が記録されます。

v1.1.5で起動した後v1.2.6にアップデートして�た直後のPreferenceファイル(Android

この状態でv1.4.0のマイグレーション処理を通ると、今回の不具合が発生します。

https://noushibou.hatenadiary.jp/entry/2020/11/05/201614
https://noushibou.hatenadiary.jp/entry/2020/12/03/214553
手元のスマホは 1.1.5 → 1.2.0 プライバシーポリシーの改定で確認ボタンタップ
以後 1.2.1 → 1.2.2
https://noushibou.hatenadiary.jp/entry/2020/12/16/075925
https://noushibou.hatenadiary.jp/entry/2021/02/18/211553
結局わからん :-P