Bug 29380 - Better error message when Xcode SDK can't be found.
Summary: Better error message when Xcode SDK can't be found.
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: 3.9
Hardware: PC Windows
: High critical
Target Milestone: ---
Assignee: Adrian Alonso
Depends on:
Reported: 2015-04-24 13:20 UTC by Jon Goldberger [MSFT]
Modified: 2015-09-30 14:38 UTC (History)
8 users (show)

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

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Jon Goldberger [MSFT] 2015-04-24 13:20:09 UTC
## Description

A customer's build failed after updating and the error received in VS was:

> Error 2 The "DetectSdkLocations" task failed unexpectedly.
> System.NullReferenceException: Object reference not set to an instance of
> an object.
> at Xamarin.VisualStudio.Build.TaskRunner.Run(Task task) in
> c:\w\3673cfba\XamarinVS\msbuild\Xamarin.VisualStudio.Build\TaskRunner.cs:line
> 60
> at Xamarin.iOS.Tasks.DetectSdkLocations.Execute() in
> c:\w\3673cfba\XamarinVS\msbuild\Xamarin.iOS.Tasks\Tasks\DetectSdkLocationsTask.cs:line
> 23
> at
> Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
> at
> Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()
> InfoChipMobile.iOS

When they tried the same build on XS (Mac) the error was: 

> Please ensure your device is connected...
> Connected to: InfoChip iPod touch
> warning MT1003: Could not kill the application
> 'com.infochip.InfoChipMobile'. You may have to kill the application
> manually.
> warning MT1108: Could not find developer tools for this 8.3 (12F69)
> device. Please ensure you are using a compatible Xcode version and then
> connect this device to Xcode to install the development support files.
> error MT1007: Failed to launch the application
> 'com.infochip.InfoChipMobile' on the device 'InfoChip iPod touch': Look for
> earlier warnings returned: 0x454. You can still launch the application
> manually by tapping on it.

The MT1108 error above revealed that the iOS 8.3 SDK was not found and to make sure a compatible Xcode version is being used. So updating Xcode resolved the customer's issue. 

If this same error message can make it to the VS side of things, it would be helpful.
Comment 2 Olaf Bartelt 2015-05-04 02:52:39 UTC
Thanks for the info. I'm having the same problems and will try installing the iOS 8.3 SDK.

@Xamarin: this is totally unacceptable! Before upgrading Xamarin.iOS, our projects worked just fine, and after upgrading we're forced to upgrade Xcode (and thus Mac OS X to 10.10 first) ??? Don't assume that everyone has or wants to support the latest stuff the day it comes out. Some people just want to keep a running, stable environment until they actually *need* new features like WatchKit, and not have it broken by upgrading Xamarin.iOS.

If I had to make an urgent fix today for our app (that just needs iOS 8.0, nothing more, nothing less), I couldn't, because now I have to fix the mess that Xamarin 8.10 brought me. Also calling 8.10 a "stable" release with all the issues mentioned in the according thread in the forum, is ridiculous. That's beta at best and your quality unfortunately seems to be steadily declining with each release :-(  Not mentioning simple bugs not getting fixed for weeks/months (!), that were introduced with new releases/updates...
Comment 3 Olaf Bartelt 2015-05-04 05:24:10 UTC
Update: upgrading Mac OS X to 10.10 and Xcode to 6.3 fixed the build problems. I didn't even have to close and re-open Visual Studio on the Windows machine.

Still, requiring the user to update to a newer SDK version, without stating it in the release notes, or at least providing a clear, simple error message, is unprofessional at best...
Comment 4 brandon 2015-05-05 19:25:15 UTC
I have this same problem - I drew the short straw here at our company and had to upgrade. Now I get to spend the next few days working with Xamarin support in an attempt to get running again. Upgrading to XCode 6.3 is NOT fixing this for me.
Comment 5 Olaf Bartelt 2015-05-06 02:13:15 UTC
In the end, I had to downgrade to Xamarin 8.9, because of some bugs I cannot wait to be fixed, since I have to deliver an update to our customers. Maybe downgrading is an option for you, too? The 8.10 seems unpredictable to me at the moment, the 8.9 seems to work fine (with the usual hang or debug issue I've got used to over the last couple of years ;-))
Comment 6 Brendan Zagaeski (Xamarin Team, assistant) 2015-05-07 20:49:09 UTC
Unfortunately the inaccurate ""DetectSdkLocations" task failed unexpectedly" error is not limited to situations where the user is attempting to deploy to an iOS 8.3 device with Xcode 6.3 installed.

See for example:


## Additional diagnostic steps to help find the "real" error for anyone seeing this issue

With a little luck, the `mtbserver.log` file (accessible via the "Xamarin.iOS Build Host -> View Build Host Log" menu in the "Xamarin.iOS Build Host" app on the Mac) will show a more informative error message.

In case that doesn't show a better error, you can also check the "Xamarin for Visual Studio" and "Build host" logs (see the https://kb.xamarin.com/customer/portal/articles/1675684-where-can-i-find-my-version-information-and-logs-). (If the link to the KB article redirects to the top-level kb.xamarin.com/ page the first time you click it, try clicking it once more.)