fc8fb4818c
To have consistent behavior in .NET, set the current directory to the root of the app bundle for all platforms. This is a breaking change for legacy Xamarin.Mac, which used to set the current directory to the Contents/Resources subdirectory, but there's a simple workaround for customers that depend on the old behavior (change it in Main themselves), and I believe the consistent experience across platforms warrants this change. Note that we already had a breaking change here for macOS/.NET: we were (unintentionally) setting the current directory to the Contents/MonoBundle directory, which neither matched mobile platforms, nor the legacy Xamarin.Mac behavior. This solves the problem of what to do for Mac Catalyst apps, because there's no need to choose between the macOS or the mobile behavior, since they're the same. This required changing the launch of macOS apps using CoreCLR to pass the full path to the entry assembly, since the entry assembly isn't in the current directory anymore. |
||
---|---|---|
.github/workflows | ||
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 |
---|---|---|
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.