Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Rolf Bjarne Kvinge 3afb12f692
[CoreCLR] Rework how we track the lifetime of managed NSObjects. (#14785)
* We now create a tracking GCHandle for all NSObjects, not only the toggled ones.
  CoreCLR will notify us when a tracked GCHandle's target enters finalization, and
  we need to be notified for all NSObjects, not just the toggled ones.
* Augment the tracking callback to know about non-toggled objects, and in that
  case report that the tracking GCHandle is a weak GCHandle.
* There's no need to store the tracking GCHandle in a field in the NSObject instance,
  since we store it in our runtime object_map.
* Remove one place where we set the InFinalizerQueue flag, since it's no longer
  required there (this reverts a previous attempt at fixing this problem - 0622ae4af2)
  - we only set the InFinalizerQueue flag in the xamarin_coreclr_reference_tracking_tracked_object_entered_finalization
  callback now.
* Update a few comments accordingly.

Partial fix for https://github.com/xamarin/xamarin-macios/issues/13531.

Fixes https://github.com/xamarin/xamarin-macios/issues/13921 (again).
2022-04-21 08:22:24 +02:00
.github [CI] Improve the action used to run tests on the pwsh. (#14723) 2022-04-11 16:35:22 -04:00
Localize [Localization] Pulling New Localization Translations 2150044135 (#14721) 2022-04-13 16:33:50 -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 [Dotnet] Fix the template on iOS and Catalyst to use the system background color. (#14766) 2022-04-20 07:54:49 -04:00
eng [main] Update dependencies from dotnet/installer (#14782) 2022-04-21 08:20:56 +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 maccore. (#14575) 2022-03-31 07:49:58 +02:00
mono Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
msbuild Updated Xamarin.Messaging to 1.6.3 (#14771) 2022-04-20 08:18:48 +02:00
opentk [src] Rename MAC_* variables to MACOS_* variables. (#12998) 2021-10-18 07:24:37 +02:00
runtime [CoreCLR] Rework how we track the lifetime of managed NSObjects. (#14785) 2022-04-21 08:22:24 +02:00
src [CoreCLR] Rework how we track the lifetime of managed NSObjects. (#14785) 2022-04-21 08:22:24 +02:00
tests [tests] Add some code to try to diagnose why certain test failures aren't ignored in CI. (#14769) 2022-04-20 08:19:50 +02:00
tools [runtime] Don't call 'retain' and 'autorelease' selectors on returned NativeObjects. (#14690) 2022-04-20 14:09:09 +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 Yeah Steve! (#14551) 2022-03-29 13:01:52 -04: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 [main] Update dependencies from dotnet/installer (#14691) 2022-04-20 10:32:54 +02:00
Make.versions Bump .NET in main to RC 3 2022-04-08 14:41:51 -04: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 (#14692) 2022-04-20 10:32:17 +02:00
README.md [api-diff] Bump to latest stable (xcode13.1 branch) + add support for different reference api urls for legacy iOS and Mac. (#13292) 2021-11-08 16:15:58 +01: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 [system-dependencies.sh] Point to the correct pkg to install on M1 (#14614) 2022-04-02 15:19:39 -04: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
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.