38fd7a8606
Some types are not available in any 32bits iOS versions. We are _mostly_ (but not always) throwing a `PlatformNotSupportedException` when they are used. However we're missing cases where we can reduce the generated code. This is one (of a few) occurrences. New generated code looks like: ```csharp [BindingImpl (BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)] static readonly IntPtr class_ptr; static readonly IntPtr class_ptr = Class.GetHandle ("ARFaceGeometry"); ``` Beside the obvious `Class.GetHandle` call removal, this has the nice, side benefit of removing several `.cctor` from the assembly (that were only needed to set this field). This reduce the code size for the 32bits version of Xamarin.iOS.dll [1] ``` Before: 16,338,944 After: 16,255,488 Diff: 83,456 ``` [1] While this might not sound very useful, since it's going away, its becoming a problem (because it's not going away fast enough) since we're not able to build some (non-linked) test suites anymore due to size constraints (and Apple's `ld` branching limit). |
||
---|---|---|
builds | ||
docs | ||
external | ||
fsharp | ||
jenkins | ||
mk | ||
mono | ||
msbuild | ||
opentk | ||
runtime | ||
src | ||
tests | ||
tools | ||
.gitignore | ||
.gitmodules | ||
CODEOWNERS | ||
ISSUE_TEMPLATE.md | ||
LICENSE | ||
Make.config | ||
Make.versions | ||
Makefile | ||
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
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 Gitter
License
Copyright (c) .NET Foundation Contributors. All rights reserved. Licensed under the MIT License.