Bridges the worlds of .NET with the native APIs of macOS, iOS, tvOS, and watchOS.
Перейти к файлу
Rolf Bjarne Kvinge 5fc4fc66af
[registrar] Don't throw NRE when finding methods that almost implement optional protocol members. (#3658)
If a class implements a protocol with optional members, and that class also exports methods whose selectors match an optional member, but the signature doesn't match, we must show a useful warning instead of erroring out due to a NullReferenceException.

Fixes this:

    System.NullReferenceException: Object reference not set to an instance of an object
      at Registrar.StaticRegistrar.GetBlockProxyAttributeMethod (Mono.Cecil.MethodDefinition method, System.Int32 parameter) [0x00001] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:4113
      at Registrar.StaticRegistrar.GetBlockWrapperCreator (Registrar.Registrar+ObjCMethod obj_method, System.Int32 parameter) [0x001e1] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:4101
      at Registrar.StaticRegistrar.Specialize (Registrar.AutoIndentStringBuilder sb, Registrar.Registrar+ObjCMethod method, System.Collections.Generic.List`1[T] exceptions) [0x0216b] in /Users/builder/data/lanes/1381/9de35b83/source/xamarin-macios/tools/common/StaticRegistrar.cs:3683

when building the msbuild/tests/MyWatchKit2IntentsExtension project.
2018-03-05 15:26:16 +01:00
builds Remove the tvos cross compiler, use the normal ios cross compiler instead, they are the same. (#3492) 2018-02-16 10:45:22 +01:00
docs [static registrar] Optimize creation of delegates for blocks. (#3623) 2018-03-02 14:30:18 +01:00
external Bump mono and touchunit (#3610) 2018-02-28 09:33:23 +01:00
fsharp [builds] Don't install symlinks to iOS/Classic assemblies in the iOS/Unified profile. (#844) 2016-09-16 20:02:25 +02:00
jenkins Add scripts to calculate API diffs and generated code diff between the current build and another revision. (#3447) 2018-02-13 07:47:47 +01:00
mk Bump maccore to get a few mlaunch fixes. (#3628) 2018-03-01 14:21:57 -05:00
mono/4.5 [build] Add .NET Core open source key 2017-03-14 11:47:06 +01:00
msbuild Build with CSC instead of MCS (#3393) 2018-02-22 11:07:33 -06:00
opentk PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
runtime [static registrar] Optimize creation of delegates for blocks. (#3623) 2018-03-02 14:30:18 +01:00
src [static registrar] Optimize creation of delegates for blocks. (#3623) 2018-03-02 14:30:18 +01:00
tests [registrar] Don't throw NRE when finding methods that almost implement optional protocol members. (#3658) 2018-03-05 15:26:16 +01:00
tools [registrar] Don't throw NRE when finding methods that almost implement optional protocol members. (#3658) 2018-03-05 15:26:16 +01:00
.gitignore Update .gitignore with directory newer versions of VSfM creates. (#3225) 2018-01-15 18:54:02 +01:00
.gitmodules Bump mono to head of 2017-12 (#3493) 2018-02-15 13:43:52 -05:00
CODEOWNERS Update CODEOWNERS files (#3455) 2018-02-12 08:13:44 -05:00
ISSUE_TEMPLATE.md Add initial github issue template (#3080) 2017-12-06 15:03:12 -05:00
LICENSE Adjust license to match requested format 2016-04-25 16:38:57 -04:00
Make.config Build with CSC instead of MCS (#3393) 2018-02-22 11:07:33 -06:00
Makefile Include the mono version in Versions.plist. (#3003) 2017-11-14 19:40:11 +01: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 Update README.md (#3587) 2018-02-26 14:31:49 -05:00
Versions-ios.plist.in [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242) 2018-01-23 11:33:48 +01:00
Versions-mac.plist.in [mtouch/mmp] Give users more control over optimizations, and share more code between mtouch and mmp. (#3242) 2018-01-23 11:33:48 +01:00
Xamarin.Mac.sln [linker] Update VS files (solution and .csproj) to build properly with the new linker sources location (#2740) 2017-09-21 16:40:40 -04:00
Xamarin.iOS.sln Fix solution after some test projects moved. (#3416) 2018-02-07 22:06:26 +01:00
banner.png [README] Add Xamarin.iOS + Xamarin.Mac banner (#1665) 2017-02-08 17:42:48 -05:00
configure Emit configure arguments into configure.inc to make it easier to re-run it. 2016-05-27 15:37:21 -04:00
product.snk Add our mono runtimes to the build. 2016-04-24 14:47:24 -04:00
system-dependencies.sh [system-dependencies] simplify mono version check (#3596) 2018-02-26 14:45: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

Status
master xamarin-macios-builds-master

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.