Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Sebastien Pouliot 38fd7a8606 [generator] Remove unrequired `Class.GetHandle` calls on 32bits bindings (#7660)
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).
2020-01-02 15:01:13 -05:00
builds Bump mono to latest 2019-10 (#7574) 2019-12-13 11:59:16 -05:00
docs Use relative paths in scripts. (#7545) 2019-12-10 12:47:30 +01:00
external [msbuild] Don't use events and methods that are obsolete and do nothing. (#7637) 2019-12-23 13:29:34 -05:00
fsharp Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
jenkins [DevOps] Fix DDFun pipeline GitHub comment report 2019-12-26 09:13:41 -05:00
mk [Test] Bump mono and use the new splited tests. (#7626) 2019-12-23 18:39:41 -05:00
mono Add config file for libmono-native dllmap 2019-03-13 00:34:47 +01:00
msbuild [msbuild] Avoid lines starting with a whitespace inside generated response files. Fix #7645 (#7647) 2019-12-27 09:15:52 -05:00
opentk [xcode11] Stop building/shipping 32-bit Xamarin.Mac bits. Partial fix for #6300. (#6393) 2019-07-15 10:19:24 -07:00
runtime [Makefile] Make csc strict and fix some small errors. (#7665) 2020-01-02 13:57:22 -05:00
src [generator] Remove unrequired `Class.GetHandle` calls on 32bits bindings (#7660) 2020-01-02 15:01:13 -05:00
tests [Foundation] Add some missing C bindings in NSFileManager. (#7664) 2020-01-02 14:05:56 -05:00
tools [DevOps] Don't be too fancy with multiple jobs for device tests pipeline 2019-12-26 09:13:41 -05:00
.gitignore [Test] Bump mono and use the new splited tests. (#7626) 2019-12-23 18:39:41 -05:00
.gitmodules [xcode11.3] Bump macios-binaries to get fix for xamarin/maccore#2068. (#7512) 2019-12-02 21:54:26 +01:00
CODEOWNERS [codeowners] Add chamons to a few areas (#5147) 2018-11-19 22:20:40 -05: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 [Makefile] Make csc strict and fix some small errors. (#7665) 2020-01-02 13:57:22 -05:00
Make.versions Merge remote-tracking branch 'xamarin/xcode11.3' into master-xcode11.3 2019-12-17 19:25:11 -05:00
Makefile Don't clean away mono if it's present, instead treat it like a submodule. 2019-09-16 15:20:46 +02:00
NuGet.config Add a 'repositorypath' to our NuGet.Config and update paths everywhere accordingly. (#1110) 2016-11-04 09:13:33 +01:00
README.md Remove lists.xamarin.com from Readme (#6893) 2019-09-03 08:37:55 -04: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 Bump for Xcode 11.3 beta 1 (#7431) 2019-11-14 14:32:26 +01:00
Versions-mac.plist.in Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Xamarin.Mac.sln Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
Xamarin.iOS.sln Switch to mono archive and remove submodule 2019-05-21 22:16:02 +02:00
banner.png [README] Add Xamarin.iOS + Xamarin.Mac banner (#1665) 2017-02-08 17:42:48 -05:00
configure Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +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 Bump for Xcode 11.3 beta 1 (#7431) 2019-11-14 14:32:26 +01:00
versions-check.csharp [Versions-ios.plist] watchOS started at 1.0 (#1328) 2016-12-13 10:52:58 +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:

Feedback

Gitter

License

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