Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Rolf Bjarne Kvinge c4f3d65b68
[devops] Compute better base for comparing API diff. (#14963)
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.
2022-05-11 16:40:40 +02:00
.github [FabricBot] Fix 'Write' & 'Admin' permission issue (#14829) 2022-04-26 11:35:03 -05:00
Localize [Localization] Pulling New Localization Translations 2259714093 (#14870) 2022-05-04 11:43:11 -05:00
builds [builds] Don't use DOTNET6_VERSION anymore, it's DOTNET_VERSION. (#14655) 2022-04-05 20:38:53 +02:00
docs [src] Remove the ModelAttribute.AutoGeneratedName property in .NET. (#13619) 2021-12-22 21:28:19 +01:00
dotnet [msbuild/dotnet] Add support for passing --aot arguments to the AOT compiler. (#14936) 2022-05-10 16:25:19 +02:00
eng [main] Update dependencies from dotnet/runtime (#14921) 2022-05-09 10:59:51 +02:00
external Bump MonoTouch.Dialog and Touch.Unit. (#14684) 2022-04-07 15:20:54 +02:00
fsharp Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
jenkins Rename any *OSX_SDK_VERSION variables to *MACOS_SDK_VERSION. (#13411) 2021-11-22 18:48:05 +01:00
mk Bump mono to get fix for #12416. (#14934) 2022-05-10 09:27:02 +02:00
mono Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
msbuild [Tools] Enable nullability in StringUtils.cs (#14944) 2022-05-11 07:08:57 -04:00
opentk [src] Rename MAC_* variables to MACOS_* variables. (#12998) 2021-10-18 07:24:37 +02:00
runtime [runtime] Fix build when logging is enabled. (#14922) 2022-05-10 09:26:20 +02:00
src Add MetalPerformanceShadersGraph Bindings (#14303) 2022-05-10 10:52:22 +02:00
tests [Xharness] Enable nullable in the BuildProject class and clean code a little. (#14897) 2022-05-11 07:25:48 -04:00
tools [devops] Compute better base for comparing API diff. (#14963) 2022-05-11 16:40:40 +02:00
.editorconfig [Build] Do not show the deprecated warnings. (#12683) 2021-09-14 10:30:41 -04:00
.gitignore [build] Use arcade dependency management tooling (#10890) 2021-04-02 00:02:27 -04:00
.gitmodules Submodule MonoTouch.Dialog. (#13058) 2021-10-26 08:18:34 +02:00
CODEOWNERS Add MetalPerformanceShadersGraph Bindings (#14303) 2022-05-10 10:52:22 +02:00
ISSUE_TEMPLATE.md Instruction to find the build logs (#6871) 2019-08-29 10:42:14 -04:00
LICENSE Adjust license to match requested format 2016-04-25 16:38:57 -04:00
Make.config Adjust versioning scheme for .NET to make the third field the commit distance. (#14923) 2022-05-10 09:28:39 +02:00
Make.versions Adjust versioning scheme for .NET to make the third field the commit distance. (#14923) 2022-05-10 09:28:39 +02:00
Makefile [.NET] Rename several DOTNET6_* variables to to DOTNET_*. (#14463) 2022-03-23 08:07:34 +01:00
NOTICE.txt Add NOTICE.txt and cgmanifest tool (#8843) 2020-06-12 14:30:21 -05:00
NuGet.config [main] Update dependencies from dotnet/runtime (#14921) 2022-05-09 10:59:51 +02:00
README.md Update README with links to more packages. (#14849) 2022-04-29 16:35:51 +02:00
SECURITY.MD Add SECURITY.MD to repo (as suggested by OSPO) (#7019) 2019-09-19 17:44:22 -04:00
Versions-ios.plist.in [Xcode 13.3] Initial commit to Xcode 13.3 release 2022-03-14 22:54:33 -04:00
Versions-mac.plist.in [Xcode 13.3] Initial commit to Xcode 13.3 release 2022-03-14 22:54:33 -04:00
Xamarin.Mac.sln Fix path to dont link project in Xamarin.Mac.sln. (#8109) 2020-03-16 09:42:52 +01:00
Xamarin.iOS.sln [tests] Make the mtouch test project reference the actual mtouch project. (#11400) 2021-05-04 14:10:03 +02:00
banner.png [README] Add Xamarin.iOS + Xamarin.Mac banner (#1665) 2017-02-08 17:42:48 -05:00
configure Remove the option of disabling the windows-specific part of the .NET build. (#11971) 2021-06-17 19:55:55 +02:00
global.json Bump our system/stable .NET to 6.0.201. (#14552) 2022-03-31 21:56:33 +02:00
mac-entitlements.plist Implement notarization. (#6928) 2019-09-09 00:34:11 -07:00
product.snk Add our mono runtimes to the build. 2016-04-24 14:47:24 -04:00
system-dependencies.sh Adjust versioning scheme for .NET to make the third field the commit distance. (#14923) 2022-05-10 09:28:39 +02:00
versions-check.csharp [versions-check.csharp] Improve this script a bit (#10323) 2021-01-11 10:47:57 +01:00

README.md

Xamarin.iOS + Xamarin.Mac logo

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:

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:

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

Discord

License

Copyright (c) .NET Foundation Contributors. All rights reserved. Licensed under the MIT License.