Bug 59794 - Build error with launchimages after latest visual studio update for IOS 11 support
Summary: Build error with launchimages after latest visual studio update for IOS 11 su...
Status: NEEDINFO
Alias: None
Product: iOS
Classification: Xamarin
Component: Xamarin.iOS.dll (show other bugs)
Version: XI 11.4 (d15-5)
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-09-27 15:40 UTC by Paul Vrugt
Modified: 2017-11-22 09:49 UTC (History)
3 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Build log (332.96 KB, application/x-zip-compressed)
2017-09-28 07:12 UTC, Paul Vrugt
Details

Description Paul Vrugt 2017-09-27 15:40:54 UTC
After updating visual studio to support IOS 11, I can no longer build. The following error occurs:

Severity	Code	Description	Project	File	Line	Suppression State
Error		System.IO.FileNotFoundException: /Users/infolandsoftsol/Library/Caches/Xamarin/mtbs/builds/Pringle.iOS/4427c09f17f9a85e231e64a450781a52/obj/iPhone/AppStore/actool/bundle/LaunchImages-700-Portrait~ipad.png does not exist
File name: '/Users/infolandsoftsol/Library/Caches/Xamarin/mtbs/builds/Pringle.iOS/4427c09f17f9a85e231e64a450781a52/obj/iPhone/AppStore/actool/bundle/LaunchImages-700-Portrait~ipad.png'
  at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00193] in /private/tmp/source-mono-d15-3/bockbuild-d15-3/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/corlib/System.IO/File.cs:111 
  at Xamarin.MacDev.Tasks.SmartCopyTaskBase.CopyFile (System.String source, System.String target, System.String targetItemSpec) [0x0002d] in <bcf80fd6b7fa461db8e6c795fcba4a4a>:0 
  at Xamarin.MacDev.Tasks.SmartCopyTaskBase.Execute () [0x00108] in <bcf80fd6b7fa461db8e6c795fcba4a4a>:0	Pringle.iOS			

When removing the inclusion of the the media assets the build works again, but I can no longer use the app since the assets are required for the app store.

I've already recreated a catalog to see if this fixes the issue, but it doesn't. Also removing the cached builds on the mac doesn't fix it.

The weird thing is, it searches for a launchimages-700, while i don't even have an option to select a 700 launchimage in the asset catalog. I only have options to select LaunchImages for 7 formats. All of them state they are for iPhone/iPad IOS 7,8

Am i missing options in the assets menu to select more formats maybe?
Comment 1 John Miller [MSFT] 2017-09-27 15:49:39 UTC
Hi Paul,

I am not able to reproduce this. To quickly try something simple, on the Mac, delete the cached builds at

> ~/Users/infolandsoftsol/Library/Caches/Xamarin/mtbs/builds

Then try and reproduce the error again.

If the issue continues, would you please include your full build logs  and all version information?

To get full build logs just set the log verbosity to diagnostic at the following locations:
- On Visual Studio for Windows: Tools > Options > Projects and Solutions > Build and Run

On Visual Studio Windows you also want to add `-v -v -v -v` to the mtouch additional arguments by right-clicking the project in the solution explorer and selecting `Properties`.

Easiest way to get exact version information (Please include both):
- On Visual Studio for Mac: "Visual Studio" menu, "About Visual Studio" item, "Show Details" button.
- On Visual Studio for Windows: "Help menu", "About Microsoft Visual Studio" item.
Then copy/paste the version information (you can use the "Copy Information" button) into a text file and attach here.

Please include the version information from both your Mac and Windows machines.
Comment 2 Paul Vrugt 2017-09-27 16:22:53 UTC
Tried that already (as mentioned in the initial report ;) ) . Didn't help. I'll do some additional testing tomorrow and include the build logs then if I still can't get it to work.
Comment 3 Paul Vrugt 2017-09-28 07:12:38 UTC
I was unable to fix the issue. However, I worked around the issue by simply removing support for IOS 8. Starting IOS 9, the launchscreen doesn't use the launchscreen assets anymore. Removing the from the info.plist resolved the issue. I've added the build log of the failed build. The actool somehow generates a _BundleResourceWithLogicalName file containing the non existing launch images. I have no idea where this information is coming from, since it is nowhere in my project
Comment 4 Paul Vrugt 2017-09-28 07:12:57 UTC
Created attachment 24975 [details]
Build log
Comment 5 Vincent Dondain [MSFT] 2017-11-03 20:34:25 UTC
Hi Paul, could you please give us your project (or equivalent project) in its non-working state (before you fixed the issue by changing the minimum version and updating the Info.plist)?

Being able to reproduce the issue would greatly help us understand what when wrong.
Comment 6 Paul Vrugt 2017-11-22 09:49:06 UTC
I tried to reproduce the issue using older sources, but so much around our project has changes since this error, that I don't have an easy way to replicate the scenario we had before we dropped IOS 8 support. So I'm afraid we have no way of providing you with the example project

Note You need to log in before you can comment on or make changes to this bug.