最後の更新から1年以上経ってしまいました。アプリの方も頻繁に更新をしていましたがなかなかアップデートができない状態でした。
前回の記事でも記載しましたが私はもともとWebデザイナーで全くプログラミングができませんでした。徐々にフロントエンドから入って朗読と音を更新できるようになりました。しかし、やはり素人なので、AppleがOSやXcodeを更新していくスピードになかなかついていくのが大変です。
まぁーなんとか進めていきたいと思うのですが、この数年大きな壁にぶつかっています。
AutoLayoutに悩まされる日々
朗読と音は、リリースから10年近く経っています。その当時はObject-Cが全盛の時でした。ソースコードを引き継いだ最初もObject-Cで記述されており本当にわけわからない状態でした。
私は最初にインターフェイスの更新から入りました。UIkitを勉強して、AutoLayoutに悩まされながら、インターフェイスを現在の物にしていきました。
UI部分はなんとかネットを検索しながら改善ができたのですが、更新を進めていくうちに大きな壁にぶつかりました。
Swiftへの移行
Appleは貧弱エンジニアには非常にひどい会社です。否応なく新しい環境を提供してそれに合わせていかなければいけなくなります。Object-CからSwiftへの移行は前任のエンジニアが概ね行ってくれたのですが、やはり根本的な点ではObject-Cが生きている状態です。(現在でもそうなっています。)
さらにこのアプリの問題点はライブラリが多く使われている点です。多分リリースの時に多くの機能をライブラリで処理されていました。
悪魔のキャッシュライブラリ
このライブラリ地獄が私を数年悩ませています。ライブラリは自分でゼロから作るよりも遥かに効率的に実装することができます。なので、非常に便利ではありますが、大きな問題は更新が常にされていくかが問題です。
ライブラリを作ったエンジニアも人間ですので、ノリで作成してうまく行っても数年後に更新がめんどくさくて放置というのはよくある話です。
そんなライブラリを多用しているため、言語のバージョンアップに適応できていないのとさらに私自身の技術や知識レベルでライブラリの更新や代替品に変えるなどのことは難しい状態です。
その中で特に難しいのがキャッシュを担っているライブラリでその名も「hyperoslo/Cache(https://github.com/hyperoslo/Cache)」というライブラリです。もちろんちゃんと更新もされていますが、私の理解が全く及ばずどこをどう更新して良いのかさっぱりわからない状態です。
しかし、今検索すると、結構解決方法が出ているかもしれない。