採択 2021/09/18 11:30〜 Track D レギュラートーク(40分)

App Store用スクリーンショットの自動生成をアラビア語対応してSwiftUIで実装してみた iOSDC Japan 2021

ainame 生井智司 ainame

みなさんがApp StoreでiOSアプリを探す際には必ずスクリーンショットを見てUIの良し悪しやアプリの機能などのイメージを掴んでからアプリをダウンロードするのではないでしょうか。App StoreのスクリーンショットはiOSアプリを運営していく上で重要な要素です。アプリの対応言語が1言語の場合は、デザイナーが1から丁寧にデザインして仕上げてくれたものを利用することも多いかと思いますが、これが言語の数や対応画面サイズが増えていくと、その必要数が爆発的に増え、対応コストが跳ね上がることになり人手での定期的な更新は難しくなります。

既知の解決策としてfastlaneというツールのsnapshotとframeitを利用することで、ある程度決まった定番のデザインでこのスクリーンショットを自動生成することが出来るのですが、とある理由から私が業務で開発しているアプリ(20カ国・言語以上のApp Storeのローカライズ対応済み)では採用出来ませんでした。それはframeitではRTL(Right-To-Left)言語であるアラビア語などが対応していなかったことや言語毎のフォントの準備やサイズの調整が難しかっためです。

この発表ではApp Store向けのスクリーンショットを多言語化して運用していく上での課題となる点を触れ、snapshotとframeit相当の処理を自前のSwift製のCLI実装する際に得た知見や、SwiftUIを画像のレンダリングエンジンとして活用する利点などについて紹介したい思います。