After reading this, please read my follow up below ;-)
On Visual Studio for Mac with all updates (Community 2017 - 7.4.1 - build 48 - all Nugets updated) and Xcode 9.3 installed, all simulators are listed properly and apps will even be deployed and run on the selected simulator. The simulators all run iOS 11.3. However, deploying to devices fails with the previously mentioned error (HE0003: Could not load the framework 'DADocSetAccess'). The error also occurs when deploying a freshly created project to a device.
After inspection, it would seem that the file mentioned in the error (/Applications/Xcode.app/Contents/SharedFrameworks/DADocSetAccess.framework/DADocSetAccess) does indeed not exist. It does, however, exist in the Xcode 8 package.
Of course I have tried copying the file from Xcode 8 to Xcode 9 (along with DADocSetManagement.framework, which is the next file Xamarin complains about), but that produces the following error:
error HE0004: Could not load the framework 'DADocSetManagement' (path: /Applications/Xcode.app/Contents/SharedFrameworks/DADocSetManagement.framework/DADocSetManagement): dlopen(/Applications/Xcode.app/Contents/SharedFrameworks/DADocSetManagement.framework/DADocSetManagement, 1): Symbol not found: _DVTMessageTrace_IDEDocumentationViewer_BookmarkCount_Report
Referenced from: /Applications/Xcode.app/Contents/SharedFrameworks/DADocSetManagement.framework/DADocSetManagement
Expected in: /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/DVTFoundation
in /Applications/Xcode.app/Contents/SharedFrameworks/DADocSetManagement.framework/DADocSetManagement
This time, Xamarin complains about an error with DVTFoundation.framework/Versions/A/DVTFoundation, which does exist in Xcode 9.3.
It's possible that DADocSetAccess.framework and DADocSetManagement.framework are outdated and incompatible since they've been copied from Xcode 8, but I don't have a copy of Xcode 9.2 to test with.
Possible (temporary) solution
I have not tested this, but maybe installing Xcode 9.3 alongside 9.2 and copying the updated device support files from 9.3 to 9.2 helps (too late for me now). I have done this before to get iOS 11 support in Xcode 8 and that actually worked! When you have not installed Xcode 9.3, Xamarin complaints about missing device support, so I have a hunch that this might be a temporary solution.
Device support files are stored in the Xcode bundle. To copy them, open the package contents of Xcode 9.3 and go to Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport. There you will see a directory called 11.3. Copy that and go to the package contents of Xcode 9.2. Follow the same path in the package and paste 11.3 there.
VS for Mac, the same problem here - simulator works fine but deploying on device fails. DADocSetAccess seems nowhere to be found.
Follow up
I just installed Xcode 9.2 alongside 9.3 (downloaded a copy from developer.apple.com --> account --> sign in --> downloads --> scroll all the way down --> more downloads --> search for Xcode).
I recommend downloading and extracting it, renaming it to Xcode 9.2 and copy it to /Applications.
I copied the device support files for iOS 11.3 from Xcode 9.3 to 9.2, as described in the last paragraph of my previous comment.
The next step is to tell Visual Studio for Mac to use Xcode 9.2. Go to Preferences [Cmd + ,] --> Projects --> SDK Locations --> Apple. Click the browse button and select Xcode 9.2. Restart Visual Studio and you're good to go! The simulators are now running iOS 11.2, but you might be able to fix that (I have not looked into that since I prefer to run on my device and avoid using the simulator).
I have tried copying DADocSetAccess.framework and DADocSetManagement.framework from 9.2 to 9.3 but that results in the same error that I mentioned in my previous comment.
So this workaround is essentially 'use Xcode 9.2' instead of 9.3
I'm working with VS2017 on Windows (in a VM) and using the Mac as build host. In theory this fix should also apply and I've been working along this path all morning. However, I'm having trouble with getting VS2017 to accept that the licence for Xcode and the SDKs has been accepted.
I've tried manually installing 9.2 alongside 9.3 and then switching SDK to 9.2 (both on the Mac side in the Xcode preferences, Locations so that licence agreements can be accepted) and on Visual Studio 2017 but VS will not accept that licences have been accepted on the Mac.
I've tried completely removing all Xcode installations and then just installing 9.2. Same problem. VS not happy that the licence agreement has been accepted, even though it has. Suspect this might be something on the VS side.
I'm now in the process of adding 9.3 again (from the App Store) so that I have 9.2 installed as above and 9.3 alongside and will try again.
Hello all! You all have been quick to update! However, the team is still preparing support for Xcode 9.3. Please take a look at this technical bulletin. In the meantime, Xcode 9.2 can be used. We will have an update for Xcode 9.3 support soon.
@bigDave1357 I am physically working on a Mac, so I'm not just using it as a build host. I don't know if the workaround will work for such situations (although it'd make sense that it does). Have you copied the device support files from 9.3 to 9.2? That's an essential step to deploy to devices running iOS 11.3.
I don't need to work on 11.3 devices - I'm just trying to get 11.2 or simulator working.
This isn't working for me.
Looks like I have a problem with VS2017 and the SDK locations. I am unable to configure the path of the iOS SDK being used. Therefore all of the work on the Mac side is of no use, since VS refuses to co-operate.
Anyone any idea how to force this change? The Tools -> Options menu should take me to a form where I can configure the SDK path for IOS. This form's controls are disabled. I've tried looking in the registry or in files to see if I can manually change these settings but I cannot find them anywhere.
Any help on this associate subject greatly received.
@bigDave1357 To accept the license, you should be able to just open Xcode on your Mac and accept it manually. The options in VS will be disabled if you are not connected (Paired) to the Mac. If you pair first, then you can change the path in VS.
The problem is that I cannot pair. Since I cannot pair, I cannot get the controls enabled, so I cannot change the SDK path. One problem is causing the other - I'm locked out.
I've figured out this problem. It's caused by having a space in the path for the SDK. I've managed to back out of this situation after many frustrated hours. See #3839.
A warning to all.
When setting up alternative SDK locations within VS 2017 be VERY CAREFUL. You can only make changes to the SDK path once you are connected to the Mac build host. If the changes you make cause the connection to fail (such as by having a space in the SDK path on the Mac side), you are effectively locked out. I've asked for this to be raised as a bug (as well as the fact that spaces in the SDK path are not handled properly).
So I'll now attempt to repair my build environment by running Xcode 9.2 alongside Xcode 9.3, but this time, I'll be naming my app Xcode9.2.app (no space!!!!)
I tried installing Xcode 9.2 alongside Xcode 9.3. I was able to build, but when I try to run the app, I'm getting the following error in Visual Studio 2017 (see below).
I don't really need the iOS 11.3 device support; I just want to be able to build and debug my Xamarin app in iOS. Did I miss anything?
2018-03-31 15:12:19.646 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEWatchSupportCore.ideplugin (com.apple.dt.IDEWatchSupportCore) not present
2018-03-31 15:12:19.646 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEWatchSupportUI.ideplugin (com.apple.dt.IDEWatchSupportUI) not present
2018-03-31 15:12:19.646 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IBCocoaTouchBuildSupport.ideplugin (com.apple.dt.IDE.IBCocoaTouchBuildSupport) not present
2018-03-31 15:12:19.646 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEInterfaceBuilderiOSIntegration.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderiOSIntegration) not present
2018-03-31 15:12:19.646 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for GPUDebuggerOSXSupport.ideplugin (com.apple.dt.gpu.GPUDebuggerOSXSupport) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEOSXSupportCore.ideplugin (com.apple.dt.IDE.IDEOSXSupportCore) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEOSXSupportUI.ideplugin (com.apple.dt.IDE.IDEOSXSupportUI) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IBAppleTVBuildSupport.ideplugin (com.apple.dt.IDE.IBAppleTVBuildSupport) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEInterfaceBuilderAppleTVIntegration.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderAppleTVIntegration) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEInterfaceBuilderWatchKitBuildSupport.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderWatchKitBuildSupport) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEInterfaceBuilderWatchKitIntegration.ideplugin (com.apple.dt.IDE.IDEInterfaceBuilderWatchKitIntegration) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for DVTAppleTVSupportCore.dvtplugin (com.apple.dt.DVTAppleTVSupportCore) not present
2018-03-31 15:12:19.647 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for GPUDebuggertvOSSupport.ideplugin (com.apple.dt.gpu.GPUDebuggertvOSSupport) not present
2018-03-31 15:12:19.648 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEAppleTVSupportCore.ideplugin (com.apple.dt.IDEAppleTVSupportCore) not present
2018-03-31 15:12:19.648 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEAppleTVSupportUI.ideplugin (com.apple.dt.IDEAppleTVSupportUI) not present
2018-03-31 15:12:19.648 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for GPUDebuggeriOSSupport.ideplugin (com.apple.dt.gpu.GPUDebuggeriOSSupport) not present
2018-03-31 15:12:19.648 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for iCloudSupportTouch.ideplugin (com.apple.dt.IDE.iCloudSupportTouch) not present
2018-03-31 15:12:19.648 mlaunch[1685:25601] [MT] DVTPlugInManager: Required plug-in compatibility UUID B395D63E-9166-4CD6-9287-6889D507AD6A for IDEiOSPlatformSupportCore.ideplugin (com.apple.dt.IDEiOSPlatformSupportCore) not present
2018-03-31 15:12:21.667 mlaunch[1685:25617] Threadpool worker DVTAssertions: ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/DVTFrameworks/DVTFrameworks-13763/DVTFoundation/DeveloperStructure/DVTExtendedPlatformInfo.m:24
Details: No Xcode.DVTFoundation.ExtendedPlatformInfo extension provided for platform 'com.apple.platform.iphoneos'
Object: <DVTExtendedPlatformInfo>
Method: +extendedPlatformInfoForPlatformIdentifier:
Thread: <NSThread: 0x7f8aa8deed00>{number = 10, name = (null)}
Hints:
Backtrace:
0 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in DVTFoundation)
1 _DVTAssertionHandler (in DVTFoundation)
2 _DVTAssertionFailureHandler (in DVTFoundation)
3 +[DVTExtendedPlatformInfo extendedPlatformInfoForPlatformIdentifier:] (in DVTFoundation)
4 -[DVTPlatform(DVTExtendedPlatformInfo) dvt_extendedInfo] (in DVTFoundation)
5 -[DTDKMobileDeviceToken isSupportedOS] (in DTDeviceKitBase)
6 __42-[DTDKMobileDeviceToken fetchApplications]_block_invoke (in DTDeviceKitBase)
7 -[DVTFuture initWithBlock:] (in DVTFoundation)
8 +[DVTFuture futureWithBlock:] (in DVTFoundation)
9 -[DTDKMobileDeviceToken fetchApplications] (in DTDeviceKitBase)
10 -[DTDKMobileDeviceToken fetchApplications:] (in DTDeviceKitBase)
11 xamarin_dyn_objc_msgSend (in mlaunch)
12 0x000000010d725f4b
13 0x00000001167db0d2
14 0x00000001167d014b
15 0x00000001167dcbd6
16 0x00000001167d81b3
17 0x00000001167d8013
18 0x00000001180fb183
19 0x00000001180fab73
20 0x00000001180f87ba
21 0x00000001180f82f4
22 mono_jit_runtime_invoke (in mlaunch)
23 do_runtime_invoke (in mlaunch)
24 worker_callback (in mlaunch)
25 worker_thread (in mlaunch)
26 start_wrapper (in mlaunch)
27 _pthread_body (in libsystem_pthread.dylib)
28 _pthread_body (in libsystem_pthread.dylib)
29 thread_start (in libsystem_pthread.dylib)
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) CoreSimulator.Messaging.void_objc_msgSend_IntPtr (intptr,intptr,intptr) [0x0000b] in <11dd160ac4084905a0957fa6308a228b>:0
at Xamarin.Hosting.Bindings.DTDKRemoteDeviceToken.FetchApplications (Xamarin.Hosting.Bindings.ApplicationsFetchedCallback) [0x00039] in /Users/builder/data/lanes/5808/3979d081/source/maciostools/Xamarin.Hosting/obj/Debug/mac/XamarinHostingBindings/DTDKRemoteDeviceToken.g.cs:186
at Xamarin.Hosting.RealDevice/<FindApplicationAsync>d__23.MoveNext () [0x000bc] in /Users/builder/data/lanes/5808/3979d081/source/maciostools/Xamarin.Hosting/Xamarin.Hosting/RealDevice.cs:154
at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.InvokeMoveNext (object) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1089
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00071] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
at System.Runtime.CompilerServices.AsyncMethodBuilderCore/MoveNextRunner.Run () [0x00024] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1070
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction (System.Action,bool,System.Threading.Tasks.Task&) [0x0001c] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/TaskContinuation.cs:823
at System.Threading.Tasks.Task.FinishContinuations () [0x00068] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:3624
at System.Threading.Tasks.Task.FinishStageThree () [0x0003c] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2366
at System.Threading.Tasks.Task.FinishStageTwo () [0x000d4] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2339
at System.Threading.Tasks.Task.Finish (bool) [0x00036] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2239
at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) [0x00067] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2834
at System.Threading.Tasks.Task.ExecuteEntry (bool) [0x00058] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2760
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2707
at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00074] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:856
at ObjCRuntime.Runtime.ThreadPoolDispatcher (System.Func`1<bool>) [0x00008] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/ObjCRuntime/Runtime.cs:241
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00009] in /Library/Frameworks/Xamarin.Mac.framework/Versions/4.2.1.28/src/Xamarin.Mac/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1208
at (wrapper runtime-invoke) <Module>.runtime_invoke_bool (object,intptr,intptr,intptr) [0x0001f] in <33da70e528ca4e968ebda6ee483760d2>:0
Native stacktrace:
0 mlaunch 0x0000000109440011 mono_handle_native_crash + 257
1 libsystem_platform.dylib 0x00007fff6d285f5a _sigtramp + 26
2 AppKit 0x00007fff42e8acca .str.41.llvm.DC87FEEF + 254477
3 libsystem_c.dylib 0x00007fff6d0231ae abort + 127
4 DVTFoundation 0x000000010d9a2025 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] + 0
5 DVTFoundation 0x000000010d9a23a0 -[DVTAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] + 891
6 DVTFoundation 0x000000010d9a16dc _DVTAssertionHandler + 374
7 DVTFoundation 0x000000010d9a19b2 _DVTAssertionFailureHandler + 371
8 DVTFoundation 0x000000010d9cab7d +[DVTExtendedPlatformInfo extendedPlatformInfoForPlatformIdentifier:] + 258
9 DVTFoundation 0x000000010d9cd287 -[DVTPlatform(DVTExtendedPlatformInfo) dvt_extendedInfo] + 61
10 DTDeviceKitBase 0x000000010ef55658 -[DTDKMobileDeviceToken isSupportedOS] + 83
11 DTDeviceKitBase 0x000000010ef7db08 __42-[DTDKMobileDeviceToken fetchApplications]_block_invoke + 111
12 DVTFoundation 0x000000010d8f855a -[DVTFuture initWithBlock:] + 105
13 DVTFoundation 0x000000010d8f7e99 +[DVTFuture futureWithBlock:] + 57
14 DTDeviceKitBase 0x000000010ef7da74 -[DTDKMobileDeviceToken fetchApplications] + 97
15 DTDeviceKitBase 0x000000010ef7e7a2 -[DTDKMobileDeviceToken fetchApplications:] + 52
16 mlaunch 0x00000001093558b9 xamarin_dyn_objc_msgSend + 217
17 ??? 0x000000010d725f4b 0x0 + 4520566603
18 ??? 0x00000001167db0d2 0x0 + 4672303314
19 ??? 0x00000001167d014b 0x0 + 4672258379
21 ??? 0x00000001167d81b3 0x0 + 4672291251
20 ??? 0x00000001167dcbd6 0x0 + 4672310230
22 ??? 0x00000001167d8013 0x0 + 4672290835
23 ??? 0x00000001180fb183 0x0 + 4698648963
24 ??? 0x00000001180fab73 0x0 + 4698647411
26 ??? 0x00000001180f82f4 0x0 + 4698637044
25 ??? 0x00000001180f87ba 0x0 + 4698638266
27 mlaunch 0x000000010945294a mono_jit_runtime_invoke + 1338
28 mlaunch 0x000000010951f514 do_runtime_invoke + 84
29 mlaunch 0x0000000109565860 worker_callback + 960
30 mlaunch 0x00000001095635fc worker_thread + 348
31 mlaunch 0x000000010956d1b0 start_wrapper + 704
32 libsystem_pthread.dylib 0x00007fff6d28f661 _pthread_body + 340
33 libsystem_pthread.dylib 0x00007fff6d28f50d _pthread_body + 0
34 libsystem_pthread.dylib 0x00007fff6d28ebf9 thread_start + 13
Debug info from gdb:
lldb: error: unable to find utility "lldb", not a developer tool or in PATH
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
I think you'll need to follow the advice in markterluun's post above to get 11.3 working using Xcode 9.2. If you don't need 11.3, I'd not worry about it for now. I suspect Xamarin will have an update very shortly to give us compatibility with Xcode 9.3 and iOS 11.3
I just uninstalled 9.3 and reinstalled 9.2 not wanting potential problems from side by side. I was able to successfully build and debug on my dev iPhone. I will wait to install 9.4 when its available.
I encountered another set of errors after switching from Xcode 9.3 to Xcode 9.2.
Error: unable to find utility "lipo", not a developer tool or in PATH.
Error: Failed to create the a fat library
Googled a solution, to run the ff. in the Terminal:
sudo xcode-select --switch /Applications/Xcode9.2.app/Contents/Developer
To fix that you need to do the next simple steps:
1 - remove the /Applications/Xcode.app from the OSX,
2 - download the previous version of the Xcode from the apple.com/developer
3 - open the downloaded file, move extracted app to the /Applications directory.
4 (optionally, but I did) - reboot OSX and restart the Visual Studio.
5 - disable "install app updates" in the App Store application to stop automatic updates for applications.
The steps outlined by @bondarenkod worked perfectly for me. Its less messy than the other suggestions, and doesn't require repointing the Xcode version in Visual Studio, which apparently carries the risk of locking out the connection between Visual Studio and the Mac (ref #3839).
The current shipping Visual Studio experience is broken. Please make it very clear that it requires XCode 9.2, eg: push an article with clear warning headline to the Developer News page we see on opening the Visual Studio for Mac product. I'd got used to Xamarin being more professional, this feels like the _bad old days_.
@AndyDentFree The experience is broken, I agree. I am actively working on improving that experience so we can reduce this type of confusion. It's a tough spot this time with the timing of the Xcode 9.3 release. However, we will continue to work on improving this with the goal being as seamless as possible.
@therealjohn That's good to hear.
I think it would be a big step forward if we can have a simple status page somewhere that shows which version of the Xamarin products are compatible with which SDK. For example, a simple traffic light system (Green - go for it, Yellow - workaround needed, Red - not working at all) with a table listing the various iOS and Android SDKs would be a big step forward.
This way we'll hopefully not unwittingly break our own tools. Xamarin new that 9.3 was coming and that they were not ready, so this table would have avoided much of the ensuing mess.
@bigDave1357 Thanks for the confirmation! I'd love for the process to be improved to the point where you don't need to check anything!
@therealjohn Well that would be excellent, of course, and I admire the aspiration.
Realistically, if that cannot happen, a status page would be a great resource, and in any case a useful double check. There will always be times when Xamarin cannot be completely in sync with new releases for iOS and Android. Apple are not adverse to making very last minute changes that were not in any previous beta and if this happens, it's hard to see how Xamarin can respond with 0 hours notice.
The bottom line, though, is that my tool chain is far too frequently not working and some of this is down to problems such as this. Anything that gives greater clarity on what is working, what is not, and why, would be great.
Supplemental verification check: Verified resolved by Xamarin.iOS 11.9.1.24
Deployment successful: Xamarin.iOS 11.9.1.24 (xcode9.3 @ f62de472)
Deployment failed: Xamarin.iOS 11.8.1.28 (d15-6 @ 3979d081)
Failure message:
The app 'SingleViewIphone1' could not be launched on 'iPad Mini 2'. Error: error HE0003: Could not load the framework 'DADocSetAccess' (path: /Applications/Xcode.app/Contents/SharedFrameworks/DADocSetAccess.framework/DADocSetAccess): not found.. Please check the logs for more details.
Simulators listed correctly: Xamarin.iOS 11.9.1.24 (xcode9.3 @ f62de472)
Simulators _not_ listed: Xamarin.iOS 11.8.1.28 (d15-6 @ 3979d081)
Testing environment info (brief)
Device: iPad Mini 2, iOS 8.0
Xcode 9.3, Build version 9E145
macOS 10.13.4
Mono Framework MDK version 5.8.1.0 (mono/mono/2017-10@6bf3922f3fd)
Visual Studio 2017 version 15.6.4
Visual Studio Tools for Xamarin version 4.9.0.752 (0faa808ee)
Windows 10 (64-bit)
US English locale
Cross-referencing note for the Microsoft team: A corresponding Developer Community item was created at https://developercommunity.visualstudio.com/content/problem/226422/vs-1564-remote-ios-simulator-list-not-populated.html.
https://releases.xamarin.com/service-release-15-6-5/. Just as reference
Most helpful comment
To fix that you need to do the next simple steps:
1 - remove the /Applications/Xcode.app from the OSX,
2 - download the previous version of the Xcode from the apple.com/developer
3 - open the downloaded file, move extracted app to the /Applications directory.
4 (optionally, but I did) - reboot OSX and restart the Visual Studio.
5 - disable "install app updates" in the App Store application to stop automatic updates for applications.