-
Notifications
You must be signed in to change notification settings - Fork 510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xcode 14.2/iOS 16.2 SDK Support? #17191
Comments
It would be great to get clarity on this issue from Microsoft. |
It would be nice if there were a page to go to that indicates the latest iOS/xcode version currently supported. |
@dalexsoto mentioned in the closing of this issue that there would be a new issue created to track Xcode 14.2 support. Not sure if that was an internal one or didn't get made at all yet. Either way I am sure there is work being done on it as you can see it in the net7.0 changes so it iwll just be a matter of time. |
@beeradmoore I think everyone realizes that there is always "work being done" to support the latest xcode/iOS. The Mac always wants to install the latest udpates. We need a place to look to see the latest version of xcode/iOS supported by Visual Studio 2022. Otherwise we are left wondering if we should install the latest, like the current 14.2 xcode, for each of MAUI and Xamarin. |
Agree 100%, also that cross reference dedicated page would be nice. I'm always scrolling through the releases tab looking for what is supported which is now a mess that net6 and net7 are all in there as well. As for Xcode and updates, that's why I use Xcodes app so I can maintain multiple copies of Xcode. I have 14.2 downloaded and ready to roll for when the Xamarin update is out. |
Will check out the Xcodes app for sure (your link is broken). I tend to try to keep the Mac at the versions supported by VS, but the VS release notes aren't always clear as to what is supported. |
Link fixed, they apparently need the www in there -_- |
You're not the only one who's frustrated by the slow support. Even Miguel himself tweets sometimes in that direction. |
Hello Folks, Thank you all for your comments we really look at them and we can definitely sympathize. As you can see by the activity in our repos we keep working on these and usually when a new Xcode shows up we start to work on it right away (for example the initial xcode14.2 PR, or the entire work put into supporting Xcode 14.0) but things have changed a lot in the last couple of years please do not take my words as a way to justify but as a window into how things are done today. Before .NET 6 we only had to maintain Xamarin.iOS/Mac products which was a stack the we (the old Xamarin team) owned entirely top to bottom but with .NET 6+ now we build on top of the dotnet runtime and sdk teams which of course they have their processes and schedules and we gotta make sure that with any bumps we get in our dependencies they do not break us but this also means that as of today we have doubled the products we need to maintain (Xamarin and .NET for Apple platforms) not leaving anyone behind but also working on the latest tech in the ecosystem. Then once we call our products good to ship we need to align to the Visual Studio shipping schedules for both Windows and Mac (which usually happen around once a month) but if you want to be part of it you have a hard deadline to be in and if for whatever reason you miss that deadline (i.e. Xcode GA shipping just a day after the deadline) then you need to be ready by the next service release train. This is understandable because shipping Visual Studio is a coordinated effort between a lot of teams inside the Developer Division at Microsoft. And lastly we need to make all of the above work with Apple's unpredictable release schedule of Xcode, sometimes we get several betas, sometimes we get an straight RC release of Xcode (see https://xcodereleases.com for timelines) that sometimes we just get 1 week to react to the set of changes before it goes GA. Going a little deeper on the last point to give an example, on the Xcode 14.0 release, the entire time that Apple shipped Xcode 14.0 Betas the macOS 13.0 SDK was part of the bundle but when they hit RC Apple reverted the macOS 13.0 SDK to v12.3, this is not an easy change because of the nature on how we build both Xamarin and .NET for Apple platforms products, we share the binding files so now we had to react to such a big change plus there was another thing that apple did in this RC version which was bumping the minimum required macOS to 12.5+ so this impacted our entire CI infrastructure as we had to update it and make sure that the required dependencies of our build were also not impacted by the update (as an example Apple pulled python in a minor macOS update). This last point really hindered our ability to release in a timely manner and as noted this particular release we shipped way later than expected. This is a general overview on the things that need to align in order to have a release shipped to all of you, we are investing in ways to reduce our time to ship, for example less than a year ago our full test suite used to take around 12 hours and around 6hrs in PRs (partial test ran), this meant that we really had a 24hrs turnaround if we needed a change checked in into our release branches, today we are able to run our entire test suite at PR time in roughly 5 hrs and there is still room for improvement. We are also working in cutting time with downstream (for example MAUI) so we can test if any of our changes would break MAUI sooner than it is today. I can speak on behalf of the entire macios team that we really sympathize and we are not currently happy with our shipping times and constrains, we are really listening to your feedback and working towards reducing our Xcode response times, I can't promise you that we can go back to the 24hrs turnaround but at least give you the option to manually upgrade while you wait the next version of Visual Studio to be released, this is something we are working out the details and hopefully we can have before the next Xcode major release. Thanks a lot for your patience and hanging out with us we really appreciate you all taking the time to write us and we strive to serve you to the best we can. |
@dalexsoto Thank you for the detailed explanation, it certainly is a difficult endeavor for your team. There are still two things outstanding from this in my mind:
|
As for releases, you can find them here https://github.com/xamarin/xamarin-macios/releases anything listed there for both Xamarin and .NET X but probably we can be more explicit about it, I'll take a note and an action to myself to find a better place for this information.
This one I do not have a good answer and probably the best person to comment on it is our PM David Ortinau so feel free to email him: David.Ortinau at microsoft.com |
Not only Xcode. We also need to know if we can install a MacOS update on the build host and which iOS versions are supported to deploy and run our apps on. Both have been problems in the past. Now I always search for new versions before I install them. |
So, question remains : is Xcode 14.2 supported with VS 17.4.3 for mac and Xamarin iOS 16.1.1 ? |
@dalexsoto Thank you for that detailed explanation. I think what it reveals to me is that transparency and frequent updates are key with these updates. Each XCode release should be treated like a Xamarin (or .net iOS) service interruption. Standard practices around a service interruption notice policy would really help in this regard (transparent immediate communication through a status page where the scope of the outage is explained and offer workarounds or resolution ETAs if possible). I think the same is true regarding native platform compatibility parity. There should be a status page that lists all of the native features that are currently missing with Microsoft's current ETA on future support. For instance, RealityKit or any other Swift-only frameworks are not currently supported. Xamarin in the past had committed to supporting all native functionality. We don't know if that's still the case with Microsoft and that adds risk for new Apple SDKs going forward. |
@vincentcastagna, officially no (see the release for Xamarin.iOS 16.1.1). Unofficially, apps may compile but there is no Xcode 14.2 features that you will have access to so IMO its better to stay on 14.1.. |
Those release notes are not clear as far as what we are looking for. I don't even care about the latest iOS, but if I install xcode 14.2 will my xamarin/MAUI builds work? |
First line that isn't the heading mentions Xcode 14.1, which isn't very clear TBH. I usually go in to latest Xamarin.iOS release and ctrl+f for 14.2 and then 14.1 to see if we are there yet. The super confusing ones are when say Xamarin.iOS gets say 14.2 support and if it were delayed for net6-ios and net7-ios so they are still on 14.1. Both are officially supported but changes depending what you are doing. I think a little table somewhere would be nice, but there is a million other things going on so I understand why it isn't.
Only one way to find out for sure. In the past I've had Xcode updates work flawlessly, and I've had Xcode updates refuse to build my app. I have been burned many times before, which is why I use Xcodes app to manage my Xcode installs. IMO the only reason to update into unknown territory is if there is a known Xcode bug that has been fixed and you need that fix before Xamarin.iOS support is up. |
I've just started a repo for Xcode support matrix. If anyone has any better ways to layout the data I am all ears/PRs. I'll attempt to backfill the data a few versions and keep on top of it when new versions come out. |
Really appreciate the detailed response to this and the insight into the challenges and constraints you have. I'll be keen (when the details are worked out) to hear more about the manual upgrade option to mitigate the 'just missed the Visual Studio service release window deadline' challenge that can delay an otherwise ready to ship update. I also second the point made above too about finding out if there plans for some of the newer SDKs that are Swift only - not because I specifically need anything that's in that bucket right now, but because I'm worried Apple will continue to put more and more stuff into that bucket in the future and eventually it will become a problem. Anyway thanks again! Keen to see the Xcode 14.2/iOS 16.2 SDK soon :) |
@dalexsoto it makes perfect sense. And I don't believe you can have the same velocity as apple, I don't mind sticking with xcode 14.1 for a few weeks/months. Nevertheless, I would believe a small hint on the main readme with a small disclaimer of what is the most recent xcode's version compatible with xamarin iOS could be helpful and clearer for everyone. |
@dalexsoto Yes, i think, also a simple file .md as @beeradmoore already do -> https://github.com/beeradmoore/net-xcode So for every framework (xamarin, .net), the last xcode version compatible. |
In addition to displaying the currently supported Xcode version, it's also important to display the currently supported Mac OS version. |
We've released Xcode 14.2 support now:
Note that it may take some time until your IDE offers the upgrades. However, if you're using: VSMac:
If you're working with VS Windows:
Note that it's possible [1] to have multiple versions of Xcode installed simultaneously, if you:
Example layout for my machine: $ ls -lad /Applications/Xcode*
lrwxr-xr-x 1 rolf admin 30 Jan 9 12:26 /Applications/Xcode.app -> /Applications/Xcode_14.2.0.app
drwxr-xr-x 3 rolf staff 96 Mar 3 2022 /Applications/Xcode_13.3.0.app
drwxr-xr-x 3 rolf staff 96 Aug 27 23:42 /Applications/Xcode_14.0.0.app
drwxr-xr-x 3 rolf staff 96 Oct 22 15:44 /Applications/Xcode_14.1.0.app
drwxr-xr-x 3 rolf staff 96 Nov 17 04:12 /Applications/Xcode_14.2.0.app This is highly recommended if you want to try out a new Xcode version, but you're unsure if it works, because you can very easily switch back and forth between them by doing both of these:
[1] if you have enough hard disk space... |
VS4Mac just got its v17.4.4 update and it didn't come with 16.2. I really hope I am not installing all Xamarin.iOS updates manually going forwards. |
So they've added the Stable version of Xcode 14.2 support to the most recent Visual Studio 17.5 Previews for Windows and Mac. They release new minor releases of Visual Studio every 3 months. The 17.4 release came out in November in early November which would put 3 months in early February. So I reckon we'll see VS 17.5 in the stable channel in the next fortnight which'll include the Xcode 14.2 support. |
Just wondering when Xcode 14.2/iOS 16.2 SDK support is going to be released? I thought it might have come out with the Visual Studio 17.4.4 update yesterday, but it wasn't listed in the release notes and there was no Visual Studio for Mac update yesterday so assuming it's not there yet. It was mentioned in #16659 when it was closed that there'd be an issue opened for Xcode 14.2, but I can't find an issue for it, so opening this instead.
I guess this also leads into a broader question I've had for a while that I thought I'd ask now. What's changed in recent years where there's now long delays between the release of an Xcode update and the release of Xamarin/.NET support for these updates?
Years ago Xamarin would advertise "Same Day Support" for when a new major version of iOS shipped (e.g. https://devblogs.microsoft.com/xamarin/xamarin-releases-same-day-support-for-ios-6/ and https://devblogs.microsoft.com/xamarin/ios-7-and-xamarin-ready-when-you-are/) where the Xamarin SDK would ship the same day that Apple shipped the final version of their tooling.
This year iOS 16.0 and Xcode 14.0 were released on September 12th but the Xamarin SDK for iOS 16 shipped on September 27th (about 2 weeks later) and the .NET MAUI 6.0 SDK for iOS 16 shipped on October 11th (about 4 weeks later).
Then iOS 16.1 was released on October 24th and Xcode 14.1 was released on November 1st. The Xamarin SDK and .NET MAUI 6.0/7.0 SDKs for iOS 16.1 shipped on December 13th (about 6 weeks later).
iOS 16.2 and Xcode 14.2 happened to be released that same day that Xamarin/.NET support for 16.1 was added (December 13th) and 4 weeks later there's still no support (although it's been Christmas and New Year so that's understandable).
But yea, I just don't really understand why there used to be same day support for major OS upgrades as something that was promoted as a selling point and now these days it's sometimes over a months wait for .1 releases. Has something changed on the Apple side where you had access to things in the past that you don't anymore? Is it that Xamarin not being a separate company anymore means that they can't move as quickly on these things as they used to? - Hoping there's some answer for this :)
The text was updated successfully, but these errors were encountered: