hishidaの開発blog

EBシリーズ(EBPocket,EBWin,EBMac,EBStudio),KWIC Finder,xdoc2txt,読書尚友の開発者ブログ

EBPocket Pro for iOS iOS13ダークモード対応

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のダークモードは実現できるかどうか、今のところわからない。