xamarinxamarin.formsxamarin.androidxamarin.iosmonodevelop

Xamarin iOS Build System.IO.FileNotFoundException: Could not find file "../obj/iPhone/Dev/actool/bundle/my20x20.png"


I have different Info.plist files for different environments e.g. Dev.Info.plist.

NOTE: I copy and paste all contents of Dev.Info.plist into Info.plist before I start my build.

When I build & run locally, I have no issues but I build & run against iPhoneSimulator. My CI/CD pipeline runs against iPhone and for some reason, it does not pick up my image assets.

Error

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.Shared.targets(1057,3): error : System.IO.FileNotFoundException: Could not find file "/Users/runner/work/1/s/MyApp.iOS/obj/iPhone/Dev/actool/bundle/my20x20.png" [/Users/runner/work/1/s/MyApp.iOS/MyApp.iOS.csproj]

iOS CSPROJ

<ImageAsset Include="Assets.xcassets\AppIcons_Dev.appiconset\20.png">
  <Visible>false</Visible>
</ImageAsset>

Dev.Info.Plist

<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcons_Dev.appiconset</string>

Solution

  • The problem was that my iOS AppIcons in the AssetCatalog had a bit depth of 24.

    This comes from saving them as PNG without marking them as transparent. When marked as transparent they have a bit depth of 32.

    After that, the build pipeline worked as intended.