d49f9d4236
First move the logic to compute the linker arguments for embedding entitlements into the executable to shared code, so that it can be used from platform-agnostic .NET code as well. There is one difference: the code no longer checks if we're building for the simulator, because the 'CompiledEntitlements' variable won't be set unless we're in the simulator, so it's no longer needed (it's also not applicable for Xamarin.Mac). Also call the _CompileEntitlements target from the .NET build logic, and embed the result into the executable. This fixes the following 10 monotouch-tests: MonoTouchFixtures.Security.CertificateTest [FAIL] GenerateKeyPairTest : GenerateKeyPair Expected: Success But was: MissingEntitlement at MonoTouchFixtures.Security.CertificateTest.GenerateKeyPairTest() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/CertificateTest.cs:line 597 MonoTouchFixtures.Security.KeyChainTest [FAIL] AddQueryRemove_Identity : code Expected: DuplicateItem or Success But was: MissingEntitlement at MonoTouchFixtures.Security.KeyChainTest.AddQueryRemove_Identity() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/KeyChainTest.cs:line 49 [FAIL] Add_Certificate : Add_Certificate Expected: Success or DuplicateItem But was: MissingEntitlement at MonoTouchFixtures.Security.KeyChainTest.Add_Certificate() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/KeyChainTest.cs:line 38 [FAIL] CheckId : same guid Expected: 00000000-0000-0000-0000-000000000000 But was: 9c3f0fd6-5c94-46a3-8193-a9fb45209a48 at MonoTouchFixtures.Security.KeyChainTest.CheckId() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/KeyChainTest.cs:line 171 [FAIL] SecItemAdd_Identity : Expected: DuplicateItem or Success But was: MissingEntitlement at MonoTouchFixtures.Security.KeyChainTest.SecItemAdd_Identity() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/KeyChainTest.cs:line 91 MonoTouchFixtures.Security.RecordTest [FAIL] Accessible_17579 : Add Expected: Success But was: MissingEntitlement at MonoTouchFixtures.Security.RecordTest.Accessible(SecAccessible access) in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 56 at MonoTouchFixtures.Security.RecordTest.Accessible_17579() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 93 [FAIL] AuthenticationType_17579 : Add Expected: Success But was: MissingEntitlement at MonoTouchFixtures.Security.RecordTest.AuthenticationType(SecAuthenticationType type) in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 174 at MonoTouchFixtures.Security.RecordTest.AuthenticationType_17579() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 186 [FAIL] DeskCase_83099_InmutableDictionary : Password could not be saved to keychain Expected: True But was: False at MonoTouchFixtures.Security.RecordTest.DeskCase_83099_InmutableDictionary() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 205 [FAIL] IdentityRecordTest : Identity added Expected: True But was: False at MonoTouchFixtures.Security.RecordTest.IdentityRecordTest() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 294 [FAIL] Protocol_17579 : Add Expected: Success But was: MissingEntitlement at MonoTouchFixtures.Security.RecordTest.Protocol(SecProtocol protocol) in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 115 at MonoTouchFixtures.Security.RecordTest.Protocol_17579() in /Users/rolf/work/maccore/squashed-onedotnet/xamarin-macios/tests/monotouch-test/Security/RecordTest.cs:line 127 |
||
---|---|---|
builds | ||
docs | ||
dotnet | ||
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 | ||
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.
Platform | Link |
---|---|
Xamarin.iOS d16.7 | 13.20.2.2 |
Xamarin.Mac d16.7 | 6.20.2.2 |
Xamarin.iOS d16.6 | 13.18.2.1 |
Xamarin.Mac d16.6 | 6.18.2.1 |
Xamarin.iOS d16.5 | 13.16.0.13 |
Xamarin.Mac d16.5 | 6.16.0.13 |
Xamarin.iOS d16.4 | 13.10.0.21 |
Xamarin.Mac d16.4 | 6.10.0.21 |
Xamarin.iOS d16.3 | 13.6.0.12 |
Xamarin.Mac d16.3 | 6.6.0.12 |
Xamarin.iOS d16.2 | 12.14.0.114 |
Xamarin.Mac d16.2 | 5.14.0.114 |
Xamarin.iOS d16.1 | 12.10.0.157 |
Xamarin.Mac d16.1 | 5.10.0.157 |
Xamarin.iOS d16.0 | 12.8.0.2 |
Xamarin.Mac d16.0 | 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.