Cannot run app on device or simulator in Visual Studio 2017 after installing Xcode 9.3

JohnWilkinsJohnWilkins GBMember ✭✭
edited March 2018 in General

Visual Studio 2017 15.6.4
XCode 9.3

Just upgraded to macOS 10.13.14 and Xcode 9.3

After this I'm not able to run any iOS applications on either simulator or a device.

Having selected an iOS project, Debug, and iPhoneSimulator as the configuration, the list of devices does not include any simulators - simply the Simulator placeholder. Trying to execute the project gives "Please select a valid device before running the application".

After selecting a real device and trying to execute I get the following error:

Launch failed. The app 'myapp.iOS' could not be launched on 'John's iPhone'. 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.

Not sure if these two are related but it looks like Xcode 9.3 completely breaks the ability to run applications under VS2017.

«1

Posts

  • Hey John, I'm having exactly the same problems with simulators and devices. I added a bug on github: github.com/xamarin/xamarin-macios/issues/3837

  • MarkterLuunMarkterLuun USMember

    I left a comment on Michal's bug report on github. It explains how to get Xamarin apps running on iOS 11.3 by installing Xcode 9.2 alongside 9.3 and copying the device support files from 9.3 to 9.2.

  • JohnWilkinsJohnWilkins GBMember ✭✭

    Xamarin have closed the above bug report. Seems that they're still working in compatibility with Xcode 9.3 so if you have upgraded already, you're going to need to use the workaround as described in the report above.

  • IuliaJecanIuliaJecan USMember ✭✭
    edited March 2018

    Same issue here. Updated xCode this morning, know I cannot run iPhone app from Visual Studio. HELP???

  • Arek_BenedyktArek_Benedykt USMember

    For now just uninstall XCode 9.3 and reinstal XCode 9.2. This will get you going until the xamarin release the update.

  • VolodymyrSavchenkoVolodymyrSavchenko UAMember ✭✭✭

    Uninstalling XCode 9.3 and installing 9.2 helped.
    You can download XCode 9.2 here:
    https://developer.apple.com/download/more/

  • JohnWilkinsJohnWilkins GBMember ✭✭

    I've found that the only way to get a working environment using VS2017 and a Mac build host is to completely remove Xcode 9.2 and then manually download and install 9.2

    I guess I'll have to completely remove 9.2 and then download 9.3 from the AppStore again, once Xamarin is working with 9.3 and iOS 11.3

  • Bob_ReckBob_Reck USMember ✭✭✭

    Thanks guys. Was having the same problem and it was driving me crazy. Installed Xcode 9.2 and the problem is solved.

  • mohdhelmimohdhelmi MYMember

    It seem I can run on simulator using xcode 9.3 but not on iphone/ipad.

  • 15mgm1515mgm15 USMember ✭✭✭✭

    I did not realized that Xcode was updated and now I have the same problem. I will reinstall 9.2

  • JesusJimenezJesusJimenez USMember ✭✭

    @MICHALZOLNIERUK said:
    Hey John, I'm having exactly the same problems with simulators and devices. I added a bug on github: github.com/xamarin/xamarin-macios/issues/3837

    What about add it to bugzilla?

    @15mgm15 said:
    I did not realized that Xcode was updated and now I have the same problem. I will reinstall 9.2

    True Story. Been there :p

  • RobotAppDevRobotAppDev CAMember ✭✭
    edited April 2018

    Been away from Xamarin for a while because our app has been working great. Loaded the dev environment today to begin a new version and VOILA... Good too see Xamarin is STILL an absolute disaster of poor quality. Low and behold, a google search for an error after the first time not using Xamarin in a year - google says "3 days old" is this thread. Shakes head

    Some things never change... when they should.

  • JohnHJohnH GBMember ✭✭✭✭✭

    @RobotAppDev an absolute disaster? Lol gotta love the complete overreaction.
    Are you complaining that compatibility with XCode 9.3 wasn't resolved in 3 days? Is that the issue you are referring to? The current solution is to revert to XCode 9.2 until the compatibility release is ready, so it isn't as if Xamarin has left anyone unable to work. It's not rocket science.

  • b005t3rb005t3r Member ✭✭

    @JohnHair said:
    Are you complaining that compatibility with XCode 9.3 wasn't resolved in 3 days?

    Like you mean that beta has been only available for 3 days? :) Are you serious? :) Xamarin is a total disaster and has been like that just from the start. It's never going to be something I agree to start a new project with.

  • JohnHJohnH GBMember ✭✭✭✭✭

    @b005t3r then why are you here? Feel free to leave and use something else. My team and I are very happy using Xamarin.

  • JohnWilkinsJohnWilkins GBMember ✭✭

    Whilst there might be some highly emotional language being used, it's not defensible to argue that Xamarin has only had a few days to make sure their product is compatible with the 9.3 Xcode. The beta for that solution has been available for quite some time.

    One would have expected that Xamarin would make sure that their product is compatible before the Xcode publication, so that developers don't get stuck with broken tools. Even if there is a workaround (and please bear in mind that on previous occasions like this there has not been a good workaround) we should not have to be resorting to workarounds to keep our development tools working. This has become the norm and it's not acceptable. I pay for an Enterprise version of the tools and I'm finding they are broken far too often.

    If we treated our customers in this way, we wouldn't have too many customers for too long.

    And even if, for good technical reasons, the above is not possible, then Xamarin should make the position clear to their developers. We're often the ones who find out that things don't work well, which results in developer downtime. Had Xamarin made it clear to everyone that there was an issue, and not to download Xcode 9.3, then this problem could have been avoided.

    Xamarin, lets have some clarity, please!

  • JohnHJohnH GBMember ✭✭✭✭✭
    edited April 2018

    @johnwilkins Thank you for the level headed post, and you are quite right of course.
    Personally I don't allow our dev macs to auto upgrade, I only allow updates once they have been verified as working in our toolchain. I too often assume others would have the same policy otherwise we are held to the whim of our dependencies.

  • JohnWilkinsJohnWilkins GBMember ✭✭

    @JohnHair indeed experience shows it's a good idea to wait - particularly with Xamarin tools.

    However, there are plenty of developers who aren't just rushing - they really do need to get code built with the latest SDK features. In the absence of any clear guidance from Xamarin, why wouldn't they go for it?

    I'm advocating a simple status page shows their readiness with respect to the various SDKs available. Nothing complicated - just a simple traffic light system. Green - go for it. Yellow - OK but with a workaround. Red - don't do it.

    If Xamarin could maintain such a thing then every developer would know if it's OK to upgrade to each new version of iOS or Android (or other) SDKs and could largely avoid these issues. It's almost a 'no effort' solution and would go a long way towards answering many complaints that "this sort of thing happens every time". It doesn't of course - but it certainly does feel like it when you've spent a working day trying to get your tools working again.

    Xamarin? Listening?

  • b005t3rb005t3r Member ✭✭

    @JohnHair said:
    @b005t3r then why are you here? Feel free to leave and use something else. My team and I are very happy using Xamarin.

    Because I'm supporting someone else's project? :) You know, some people do those things as a job, not as a hobby. I wouldn't be here for my own pleasure, believe me :)

  • TeemuToivanenTeemuToivanen USUniversity ✭✭

    Same problem here, after updating to Xcode 9.3

  • JohnHJohnH GBMember ✭✭✭✭✭

    @b005t3r said:

    @JohnHair said:
    @b005t3r then why are you here? Feel free to leave and use something else. My team and I are very happy using Xamarin.

    Because I'm supporting someone else's project? :) You know, some people do those things as a job, not as a hobby. I wouldn't be here for my own pleasure, believe me :)

    That's fair enough, it can be a pain in the ar$e supporting another team's solutions, and these sorts of problems only compound those issues. But I wouldn't update a nuget package, or a VS version, without checking it first. Same for any dependency in my build pipeline, which includes XCode. Another issue here is that XCode can update automatically (if set accordingly) which will catch a lot of people out. It just amazes me that so many people might go 'oh there is a new XCode version out that I rely on to build iOS apps. Yes I'll update immediately'. They update without understanding the potential risks involved.

  • EdwinKlesmanEdwinKlesman USMember ✭✭

    +1

  • NMackayNMackay GBInsider, University mod

    This is why we maintain multiple build hosts to have one canary to make sure it all works before updating everyone else's environment (VS Updates, XCode updates, Forms etc). Learned from painful experience and lost a week due to issues in one case.

    Not everyone has this luxury though.

  • b005t3rb005t3r Member ✭✭

    @JohnHair said:
    It just amazes me that so many people might go 'oh there is a new XCode version out that I rely on to build iOS apps. Yes I'll update immediately'. They update without understanding the potential risks involved.

    I think people understand the risks and often the problem is simply caused by the autoupdate which is on by default. But still, Apple makes beta builds available long before they are made official, Xamarin had all the time they needed to prepare for this, but they didn't. They also didn't take any steps to warn their users.

    Overall, I'm hugely disappointed with Xamarin. Can't really see a good reason to use it. Issues like this one do happen to Xamarin maybe not regularly, but more often than expected, development itself is unnecessarily complex (more complex than with native approach, because you need to take care of the same things as when doing it natively plus the Xamarin part), tools are worse than those available for Java/Obj-C (Android Studio and AppCode) and unless you're doing something really simple, you need to code it twice, because there's no usable abstraction you could use for iOS and Android. It is a complete mess from my point of view.

  • JohnHJohnH GBMember ✭✭✭✭✭

    @b005t3r Well, the app I am currently working on shares about 90% of code between iOS and Android using MVVM. Off-line sync, webAPI backend, Azure AD. Most of the code in the app is in the view models and is unit tested. Works very, very well.

  • CybrosysCybrosys USMember ✭✭
    edited April 2018

    @MigueldeIcaza "Afternoon" in which time zone, could you be a bit more precise? :)

  • b005t3rb005t3r Member ✭✭

    @MigueldeIcaza said:
    The guidance that we have given our users historically is to hold off on upgrading your underlying tooling on the day of the launch until we ship the updates, this release was not the exception and we did post this guidance on March 29th:

    Why not use your FB profile as well? All I see there is some sort fo marketing spam, why not use it to actually post something useful from time to time?

  • JamesMooreJamesMoore USMember ✭✭

    Miguel - I think you should push to alpha immediately, before you go through QA. Our experience is that your QA process regularly lets through crippling bugs anyway (current alpha crashes when you open our project, for example, and current stable is barely useful), so there's little value in waiting for it to complete.

    Sure, hold beta for QA, but definitely don't hold alpha. That's why it's alpha.

    [I would have posted links to the places where we're complaining about the other quality issues, but you've crippled your forum software so it won't let me post them. Sigh.]

  • TheFwGuyTheFwGuy USMember ✭✭

    I'm having the same problem, updated to Xcode 9.3 (for other reasons I needed to have Xcode updated) and now I have the error "error HE0003: Could not load the framework 'DADocSetAccess' ..." but ONLY if I try to load the compiled code on a real device.
    The emulators works just fine.

    And what is strange is that I did update Xcode days ago and everything worked until this morning.

    What I had to do this morning was to start the Xamarin project from a known github release. So I put it away the current one (that had other problems), restarted from the scratch the app and voila', unable to load the code on the iPhone (again, the emulators works).
    I installed the latest Xamarin code available and this is my environment (on Mac)

    Version 7.5 Preview (7.5 build 933)
    Installation UUID: 3a616150-13b4-44d3-9f8e-cc823c771004
    Runtime:
    Mono 5.10.0.179 (2017-12/dac60775616) (64-bit)
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 4.4.0.36 (master / 0c7c49a6)

    Package version: 510000179
    

    === NuGet ===

    Version: 4.3.1.4445

    === .NET Core ===

    Runtime: /usr/local/share/dotnet/dotnet
    Runtime Versions:
    2.0.5
    2.0.3
    SDK: /usr/local/share/dotnet/sdk/2.1.4/Sdks
    SDK Versions:
    2.1.4
    2.0.3
    MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Sdks

    === Xamarin.Profiler ===

    Version: 1.6.2
    Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

    === Apple Developer Tools ===

    Xcode 9.3 (14154)
    Build 9E145

    === Xamarin.Mac ===

    Version: 4.4.0.31 (Visual Studio Community)

    === Xamarin.iOS ===

    Version: 11.10.0.32 (Visual Studio Community)
    Hash: 4d8c4e32
    Branch: d15-7
    Build date: 2018-03-07 18:39:46-0500

    === Xamarin.Android ===

    Version: 8.3.0.5 (Visual Studio Community)
    Android SDK: /Users/xxxxxxxxxxxxx/Library/Android/sdk
    Supported Android versions:
    4.1 (API level 16)
    4.4 (API level 19)
    5.0 (API level 21)
    5.1 (API level 22)
    6.0 (API level 23)
    7.0 (API level 24)
    7.1 (API level 25)
    8.0 (API level 26)
    8.1 (API level 27)

    SDK Tools Version: 26.1.1
    SDK Platform Tools Version: 27.0.1
    SDK Build Tools Version: 28.0.0 rc1

    Java SDK: /usr
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

    === Xamarin Inspector ===

    Version: 1.4.0
    Hash: b3f92f9
    Branch: master
    Build date: Fri, 19 Jan 2018 22:00:34 GMT
    Client compatibility: 1

    === Build Information ===

    Release ID: 705000933
    Git revision: ace1e107c88477db1abe5e807809650f064112c4
    Build date: 2018-03-19 17:42:41-04
    Xamarin addins: a01263bdbba2589b1f6e42ef085bd31f6e3bfcf4
    Build lane: monodevelop-lion-d15-7

    === Operating System ===

    Mac OS X 10.13.4
    Darwin 17.5.0 Darwin Kernel Version 17.5.0
    Mon Mar 5 22:24:32 PST 2018
    root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64

    === Enabled user installed addins ===

    Internet of Things (IoT) development (Preview) 7.1

    Why the emulator works and the real device is not ?
    I would expect ANY device/emulator to experience the problem if it was a Xcode 9.3 issue.
    In other words, what the difference between emulators and real iPhone regarding the presence of the framework ?
    Is it possible to manually load the framework on the correct place for the iPhone ?

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai
    edited April 2018

    As a note, I have started a discussion with the Xamarin.iOS team to recommend that Xamarin.iOS and Visual Studio provide a warning to users when a new incompatible version of Xcode is released on the App Store before the current version of Xamarin.iOS and Visual Studio is compatible with that version. Emails are a possibility too, but I'm in favor of something in-product if we can make that work. (At the least, I think the finding that the releases.xamarin.com page (with an RSS feed) does not provide sufficient visibility suggests that adding another status web page might not be the optimal approach, so something with more of a push-style notification would be better.)

    (Cross-reference: https://forums.xamarin.com/discussion/comment/326052/#Comment_326052. Apologies I didn't post that comment back on this thread too. As of yesterday, all the users on this thread appeared to have sorted the problem out without much complication by switching back to Xcode 9.2.)

    hold beta for QA, but definitely don't hold alpha.

    Just for additional background context, I'll record here that there are a couple complications involved related to that approach.

    One related complication (though it does not precisely apply to the current scenario) is that publishing to either the Alpha or Beta channel before Xcode 9.3 final was released to the App Store would introduce an error for any users who had not yet updated to Xcode 9.3: "Error MT0091: This version of Xamarin.iOS requires the iOS 11.3 SDK (shipped with Xcode 9.3) when the managed linker is disabled. Either upgrade Xcode, or enable the managed linker." (This error arises because Xamarin.iOS 11.3 of course must include the new native symbols from iOS 11.3 to be useful.) One example of users who would hit this error would be brand new users who were setting up Xcode (from the App Store) and Xamarin for the first time before Xcode 9.3 was released on the App Store.

    Another complication is that Visual Studio 2017 on Windows does not have an equivalent of the "Alpha" updater channel in Visual Studio for Mac. So the convention for the past several releases has been that the Alpha and Beta channels have been kept the same on Visual Studio for Mac and aligned with the Visual Studio 2017 Preview versions. Early access to the Xcode 9.3 support was therefore provided instead as out-of-channel installable packages on the Release Blog so that all users across both Mac and Windows would be able to use them: https://releases.xamarin.com/preview-xcode-9-3-beta-2-ios-11-3-macos-10-13-4-support-preview-2/. Coordination with the Visual Studio 2017 release schedule for Xcode releases is also still a relatively new process (in terms of number of new Xcode versions), and the Xamarin and Visual Studio teams have been working together to optimize the release strategy for this special scenario.

    These complications are I believe some of the key points being discussed in the work Miguel mentioned:

    We are exploring ways to mitigate scenarios where users upgrade their SDKs before we ship our full support, and we hope to bring those to upcoming releases.

  • kaitbellahskaitbellahs Member ✭✭

    i'm too have the same problem, and tomorrow i have to show meu app to partners, now i have to downgrade XCODE, big problem.

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai
    edited April 2018

    Update: The SDK bindings and IDE compatibility for Apple's Xcode 9.3 release have now been published to the Visual Studio for Mac Stable updater channel. The upcoming Visual Studio 2017 version 15.6.5 release will include additional compatibility support for Windows users. (Visual Studio 2017 version 15.6.5 is in-progress for tentative publication within roughly a couple days or less, depending on the progress of an investigation unrelated to Xamarin.) An interim compatibility package for Visual Studio 2017 will also be provided shortly on the corresponding Release Blog post:


    Update 2: The interim compatibility package for Visual Studio 2017 is now available on the Release Blog post.

  • KyleKurzKyleKurz USMember ✭✭

    @BrendanZagaeski I was reasonably with you on your explanation of why Alpha wasn't updated Thursday when Apple pushed 9.3, or Friday after having a day to QA your build. But then you come back around today and push STRAIGHT TO STABLE??? With the number of times I report bugs on Alpha and Beta channels (and judging from this thread alone, I'm not the only one) that are completely breaking to our build systems or missing symbols or functionality, pushing straight to the Stable channel is 10x worse than not pushing to Alpha. This is completely unacceptable. You have multiple channels to give people a chance to report issues against them for you before they go live to the whole world. Use them.

    At least with Apple's stuff, it's reasonably easy to go reinstall Xcode from the developer tools. If this update breaks my builds, I can't just "switch back to stable", I have to dig through your binary storage to get back to whatever version I had before. This is infuriating as a user and as a developer.

    IMO, when Apple has a beta release (spoiler: always), Alpha should include tooling that supports that particular Apple platform. Beta can then be additional improvements you guys make on the EXISTING tooling. This allows those of us who care/need it to run Alpha against Apple's betas and then run Beta for your bleeding edge and Stable for... STABLE!

  • KyleKurzKyleKurz USMember ✭✭

    To pile on here, surprise, the new "Stable" release breaks my Android build. So now I'm broken for the other platform. Remains to be seen if I can build for iOS after updating Xcode.

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai
    edited April 2018

    Thanks for the feedback! Publishing updated Xcode compatibility updates directly to the Stable channel is a long-standing historical precedent (apart from Xcode major version updates which have GM versions in advance of the final App Store releases). I would agree that it would definitely be worthwhile for the Xamarin team to revisit this precedent while they are evaluating how to provide the best user experience for future Xcode updates. I will encourage them to do so.

    (Edit: Just for a little historical background context, one reason for the direct to Stable publication in the past was to enable new users who are setting up Xamarin for the first time today to install the current Xcode and the current Xamarin version and have a compatible configuration. But I suspect there might be other elegant solutions to this constraint for the future.)

  • EdwinKlesmanEdwinKlesman USMember ✭✭

    Nice, the 15.6.5 update is working on my end. My Xamarin Forms project builds as expected again. :smiley:
    Thanks for the quick counter reaction on the XCode update

  • Umar3xUmar3x FRMember ✭✭✭

    Got same issue, just before goprod, thanks for this silent update of xcode ... NICE ! How to uninstall xcode on macOS ... this is really not user friendly OMG ... Thanks

  • JohnHJohnH GBMember ✭✭✭✭✭

    @Umar3x said:
    Got same issue, just before goprod, thanks for this silent update of xcode ... NICE ! How to uninstall xcode on macOS ... this is really not user friendly OMG ... Thanks

    Your mac updated XCode, not Xamarin.
    Also as Brendan mentioned above, the Xamarin tools have now been updated to support XCode 9.3. So either downgrade XCode, or upgrade the Xamarin tools.

Sign In or Register to comment.