LoginSignup
0
0

More than 3 years have passed since last update.

Xamarin.FormsにてiOSのビルドエラー。画像がFile not foundとされる問題

Last updated at Posted at 2020-11-20

以下の問題が発生していましたが解決したので記録しておきます。
同じような問題を抱える開発者もいると思うので参考になれば幸いです。

問題

以下のビルドエラーがでる

File not found: ~/Library/Caches/Xamarin/mtbs/builds/~/AppIcon.appiconset/[画像ファイル名].png

前提

  • Microsoft Visual Studio 2019 を使用
  • iOS ビルド時にエラー
  • Macbookの容量がないなどの理由でLibrary/Caches/内の削除など行った
  • AppIcons.appiconsetで設定している

原因

iOSのプロジェクトファイルにすでに使用されていないAssetの参照先が残っていた。
Macbook内のLibrary/Cachesフォルダ内に対象のファイルが存在しないためエラーを起こしていた。

解決策

iOSのプロジェクトファイルにすでに使用されていないAssetの参照先を削除する。

ProjectName.iOS.csproj
  <ItemGroup>
    <ImageAsset Include="Assets.xcassets\AppIcon.appiconset\appstore.png"> <!-- AppIconsではなくAppIconなど、以前設定していたパスが残っている(この部分を削除) -->
      <Visible>false</Visible>
    </ImageAsset>
    <!-- (略) -->
    <ImageAsset Include="Assets.xcassets\AppIcons.appiconset\appstore.png">  <!-- 以下は現在使用している正しいパス -->
      <Visible>false</Visible>
    </ImageAsset>
    <ImageAsset Include="Assets.xcassets\AppIcons.appiconset\Contents.json">
      <Visible>false</Visible>
    </ImageAsset>
    <ImageAsset Include="Assets.xcassets\AppIcons.appiconset\icon120.png">
      <Visible>false</Visible>
    </ImageAsset>
    <ImageAsset Include="Assets.xcassets\AppIcons.appiconset\icon152.png">
      <Visible>false</Visible>
    </ImageAsset>
    <ImageAsset Include="Assets.xcassets\AppIcons.appiconset\icon167.png">
      <Visible>false</Visible>
    </ImageAsset>
    <!-- (略) -->
  </ItemGroup>

結論

iOSのプロジェクトファイル内は普通は編集することはないはずでバグの一種で設定が残っていたと思われる。(改善されている可能性もある)
MacbookのLibrary/Caches/内の削除前は問題なくビルドが通っていたので削除を行ったことでエラーが表面化したと思われます。
以上、同様の問題で参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0