EBPocket Pro for iOS のダークモード対応が終了し、無事App Store で公開できた。iOS13のダークモード対応以外の新機能の追加はない。
ダークモード対応を有効にするにはXcode11でビルドする必要があるのだが、Xcode11でビルドしたモジュールがiOS13ではメモリ管理の関連で予期せぬクラッシュが発生し、問題を回避するのに大半の時間を費やした。
結局、検索一致リストにEPWING外字を表示するために使っていた独自クラスをUIWebViewに置き換えることで動作するようになった(オリジナルのソースも間違っているようには見えないので、原因は謎のまま)。
iOS14以降に懸念されることは、deprecated(非推奨)とされているAPIをまだ使っている箇所があって、iOS14以降APIが廃止されると動作しない可能性があることだ。
把握しているのでは、
- UIPopoverController(iOS9でdeprecated)→UIPopoverPresentationControllerで置き換え
- UIWebView(iOS12でdeprecated)→WKWebViewで置き換え
がある。今回は無事だったが、iOS14ではそろそろやばいかもしない。iOS14ベータが出た段階でテストする予定。
今回、Macの開発環境をXcode11に統一できたことが成果かもしれない。2020年4月以降は、AppStoreへの提出はXcode11+iOS13 SDKが義務づけられるからだ。
これでAndroid,Mac OS X ,iPhoneでのダークモード対応が終わり、残るはWindows だけになった。Windows 10 ではMay 2019 Updateでダークモードがサポートされたが、アプリケーション側で独自に対応する必要がある不完全なもので、なかなか面倒だ。まだ標準アプリとChromeぐらいしか対応していないと思う。EBWin4のダークモードは実現できるかどうか、今のところわからない。