thenounprojectからアイコンをSVG画像で購入しました。そして、GapplinというmacOSのプログラムを使って、このSVGをPNG画像にエクスポートしています。100x100ピクセルの画像として出力されます。
このPNG画像をプレビュープログラムで開き、ツール -> サイズ調整で、10x10、20x20、30x30の画像を作成します。そして、これらの画像をXcodeで1x、2x、3xとして読み込みます。
この方法は正しいのでしょうか?
いいえ、最適解ではありません。
もちろん、現在のソリューションも有効ですが、理想とは程遠いものです。そのために(貴重な!)画質を失っているのです(詳しくはこちら]2)。ワークフローを改善するには、以下の方法があります。
オリジナルのSVGファイルから3つの解像度をすべてエクスポートし、ベクターベースの画像ソース(Gapplinや他の画像アプリを使用)から可能な限り最高のPNGビットマップを取得することを保証します。
または、SVGをPDFに変換してから、PDFのベクターイメージファイルをXcodeにインポートします。
どちらの方法も、画質的には非常によく似た結果が得られるはずで、現在のワークフローから改善されるでしょう。
アプリのファイルサイズについては、どちらの方法でも差はないはずです。最後の方法を使用しても、Xcodeはビルド時に必要なアセットを生成するので、アプリは最初の方法と同じ画像/アイコンセットを持ち歩くことになります。