Xamarin iOS 构建 System.IO.FileNotFoundException:找不到文件“../obj/iPhone/Dev/actool/bundle/my20x20.png”
Xamarin iOS Build System.IO.FileNotFoundException: Could not find file "../obj/iPhone/Dev/actool/bundle/my20x20.png"
我有不同的 Info.plist 文件用于不同的环境,例如开发Info.plist.
注意:在开始构建之前,我将 Dev.Info.plist 的所有内容复制并粘贴到 Info.plist。
当我在本地构建 & 运行 时,没有任何问题,但我针对 iPhone 模拟器构建 & 运行。我的 CI/CD 管道 运行s 反对 iPhone 并且由于某种原因,它没有获取我的图像资产。
错误
/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.png">
<Visible>false</Visible>
</ImageAsset>
Dev.Info.Plist
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcons_Dev.appiconset</string>
问题是我在 AssetCatalog 中的 iOS AppIcons 的位深度为 24。
这是因为将它们保存为 PNG 而没有 将它们标记为透明。当标记为透明时,它们的位深度为 32。
之后,构建管道按预期运行。
我有不同的 Info.plist 文件用于不同的环境,例如开发Info.plist.
注意:在开始构建之前,我将 Dev.Info.plist 的所有内容复制并粘贴到 Info.plist。
当我在本地构建 & 运行 时,没有任何问题,但我针对 iPhone 模拟器构建 & 运行。我的 CI/CD 管道 运行s 反对 iPhone 并且由于某种原因,它没有获取我的图像资产。
错误
/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.png">
<Visible>false</Visible>
</ImageAsset>
Dev.Info.Plist
<key>XSAppIconAssets</key>
<string>Assets.xcassets/AppIcons_Dev.appiconset</string>
问题是我在 AssetCatalog 中的 iOS AppIcons 的位深度为 24。
这是因为将它们保存为 PNG 而没有 将它们标记为透明。当标记为透明时,它们的位深度为 32。
之后,构建管道按预期运行。