c4f3d65b68
Previously we'd compare the tip of the PR branch with the commit before merge commit into the target branch created by GitHub. This doesn't work in the following scenario: main gh pr | G1 | (merge commit created by GitHub) | / \ | |/ \| M2 | | P2 | /| | / | | / | | / | |/ | M1 | | | | P1 | / | / | / | / |/ We'd end up comparing P2 with M2, which is not what we want, because M2 could have API changes that would show up as missing in P2. It's actually even worse than that, because we could be in the following scenario: main gh pr | G2 | (merge commit created by GitHub when api diff started) | / \ | |/ \| M3 | | P3 | | | G1 | (merge commit created by GitHub when build started) | / \ | |/ \| M2 | | P2 | /| | / | | / | | / | |/ | M1 | | | | P1 | / | / | / | / |/ And we still want to P2 with M2, but we'd compare P2 with M3. We want to compare P2 with M1 instead. This is done by asking git for the merge-base between P2 and M2. |
||
---|---|---|
.github | ||
Localize | ||
builds | ||
docs | ||
dotnet | ||
eng | ||
external | ||
fsharp | ||
jenkins | ||
mk | ||
mono | ||
msbuild | ||
opentk | ||
runtime | ||
src | ||
tests | ||
tools | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
CODEOWNERS | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
Make.config | ||
Make.versions | ||
Makefile | ||
NOTICE.txt | ||
NuGet.config | ||
README.md | ||
SECURITY.MD | ||
Versions-ios.plist.in | ||
Versions-mac.plist.in | ||
Xamarin.Mac.sln | ||
Xamarin.iOS.sln | ||
banner.png | ||
configure | ||
global.json | ||
mac-entitlements.plist | ||
product.snk | ||
system-dependencies.sh | ||
versions-check.csharp |
README.md
Xamarin.iOS & Xamarin.Mac
Welcome!
This module is the main repository for both Xamarin.iOS and Xamarin.Mac.
These SDKs allow us to create native iOS, tvOS, watchOS and macOS applications using the same UI controls we would in Objective-C and Xcode, except with the flexibility and elegance of a modern language (C#), the power of the .NET Base Class Library (BCL), and two first-class IDEs—Visual Studio for Mac and Visual Studio—at our fingertips.
This repository is where we do development for the Xamarin.iOS and Xamarin.Mac SDKs. There are a few ways that you can contribute, for example:
- Submit bugs and feature requests
- Review source code changes
- Submit pull requests to resolve issues and fix bugs
Contributing
If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:
- How to build and run from source
- The development workflow, including debugging and running tests
- Coding Guidelines
- Submitting pull requests
Downloads
The preferred method for installing Xamarin.iOS and Mac is to use the Visual Studio installers (Windows, Mac).
The team also strongly recommends using the latest Xamarin SDK and Xcode whenever possible.
However, we provide links to older Xamarin.iOS and Mac packages for macOS downgrades and build machine configuration.
Version | Xamarin.iOS | Xamarin.Mac |
---|---|---|
Xcode 13.3 | 15.8.0.4 | 8.8.0.4 |
Xcode 13.2 | 15.4.0.0 | 8.4.0.0 |
d16.11 (Xcode 13.1) | 15.2.0.1 | 8.2.0.1 |
d16.11 (Xcode 13.0) | 15.0.0.6 | N/A |
d16.10 | 14.20.0.24 | 7.14.0.27 |
d16.9 (Xcode 12.5) | 14.16.0.5 | 7.10.0.5 |
d16.9 | 14.14.2.5 | 7.8.2.5 |
d16.8 (Xcode 12.4) | 14.10.0.4 | 7.4.0.10 |
d16.8 (Xcode 12.3) | 14.8.0.3 | 7.2.0.3 |
d16.8 (Xcode 12.2) | 14.6.0.15 | 7.0.0.15 |
d16.8 | 14.4.1.3 | 6.22.1.26 |
d16.7 | 14.2.0.12 | 6.20.2.2 |
d16.6 | 13.18.2.1 | 6.18.2.1 |
d16.5 | 13.16.0.13 | 6.16.0.13 |
d16.4 | 13.10.0.21 | 6.10.0.21 |
d16.3 | 13.6.0.12 | 6.6.0.12 |
d16.2 | 12.14.0.114 | 5.14.0.114 |
d16.1 | 12.10.0.157 | 5.10.0.157 |
d16.0 | 12.8.0.2 | 5.8.0.0 |
Feedback
- Ask a question on Stack Overflow or the Xamarin Forums
- Request a new feature on GitHub
- Vote on existing feature requests
- Submit bugs to GitHub Issues
- Discuss development and design on Discord
License
Copyright (c) .NET Foundation Contributors. All rights reserved. Licensed under the MIT License.