問題
BitriseにSwiftUIのプロジェクトを新規追加しようとした時に、「could not get icons for app: /bitrise/src/{ProjectName}/{ProjectName}.xcodeproj, error: not found app icon set (AppIcon) on paths: [{18BEF98823E125EA005ED009 Preview Assets.xcassets} {18BEF98523E125EA005ED009 Assets.xcassets}]」
というエラーが発生する。
原因
SwiftUIのプロジェクトでは、プロジェクトディレクトリの中にPreviewContent/Preview Assets.xcassetsというアセットディレクトリが存在するが、この中身が空のためにBitriseのプロジェクトスキャンのパースでエラーを吐いているようす。(Bitrise内部挙動はわからないのでエラー内容からの推測です)
解決法
- Assets.xcassetsに空のAppIconのアセットを追加する。
- 名前が本番用のAppIconとコンフリクトしてテストエラーになるのを避けるために、名前を「AppIcon」以外にする。(自分はPreviewAppIconとかにしました。)
ディレクトリごと削除しても問題なく動くが、Preview用のアセットを使いたくなったらまた問題は起こるので、空アセット追加の方が良さそうに見える。
その他
SwiftUI利用時ではなくても、何かのミスでアプリアイコンのアセットを削除してしまった場合はこのエラーが発生しそうなので、追加してあげれば解決します。