Граф коммитов

489 Коммитов

Автор SHA1 Сообщение Дата
Nick Spagnola d41cd7997f NSTokenFieldCell and NSTokenFieldCellDelegate bindings (#3913) 2018-05-11 09:30:15 -05:00
Sebastien Pouliot 9208e9a0a4 Add xcode9.4 support into 15.7
The PR is not final and cannot be merged until the final Xcode 9.4
release from Apple is available.

Since there's no macOS specific changes (at least up to beta 2) we can
directly merge into the _normal_ milestone branch and avoid having
separate branches to maintain for XI and XM (until 15.8).
2018-05-03 13:55:11 -04:00
Sebastien Pouliot 353ce95c70
[macos][security] Re-enable SSL[Get|Set]AlpnProtocols. Fixes #4001 (#4022)
* [macos][security] Re-enable SSL[Get}Set]AlpnProtocols. Fixes #4001

This was fixed in macOS 10.13.4

https://github.com/xamarin/xamarin-macios/issues/4001
2018-05-02 20:32:30 -04:00
Rolf Bjarne Kvinge 45161869b9 [Foundation] Implement NSUrlProtocolClient properly on macOS. Fixes #3968. (#3971)
This fixes a 3 year old "temporary" workaround: 89e981147d

Fixes https://github.com/xamarin/xamarin-macios/issues/3968.
2018-04-21 11:47:23 -04:00
Alex Soto 347160cf51
[ClassKit] Add Xcode 9.4 Beta 1 Bindings (#3853)
* [ClassKit] Add Xcode 9.4 Beta 1 Bindings

* ClassKit moved to v11.4 or we'd link against a private frmework in 11.3

* Turn CLSPredicateKeyPath into a static class

CLSPredicateKeyPath does not make much sense as an enum, we'll use
a static class instead so we do not have to call GetConstant() and
use the NSString directly.

Sample code using CLSPredicateKeyPath:

```csharp
var store = CLSDataStore.Shared;
var predicate = NSPredicate.FromFormat ("%K = %@", CLSPredicateKeyPath.Parent, store.MainAppContext);
var ctxs = await store.FindContextsMatchingAsync (predicate);
foreach (var ctx in ctxs) {
	Console.WriteLine (ctx.Title);
}
```

* [tests] Exclude WeakTopic incorrect check, bound as smart enum
2018-04-05 10:20:05 -05:00
Sebastien Pouliot e628c5cef9 [xtro] Remove extra .todo files. Those are not tracked and should not have been inside xcode9.3 branch 2018-04-03 18:03:34 -04:00
Sebastien Pouliot 2db1b230a5 [xtro] Remove empty files. It was a mistake to have them in xcode9.3 branch 2018-04-03 18:02:36 -04:00
Vincent Dondain 2a84c116db Merge branch 'xcode9.3' 2018-04-03 14:14:07 -04:00
Sebastien Pouliot 966a636490
Initial bump/setup for Xcode 9.4 beta 1 (#3846) 2018-04-03 08:16:51 -04:00
Vincent Dondain 94af4c6713 [xtro] Fix xcode9.3 merge issues 2018-03-30 12:26:58 -04:00
Vincent Dondain d34f1fbbd7 Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
Alex Soto 05997e38cd [MetalPerformanceShaders] Update xtro up to Xcode 9.3 Beta 4 (#3679)
We will bind it later, see:
https://github.com/xamarin/xamarin-macios/issues/3553
2018-03-07 08:53:33 -05:00
Sebastien Pouliot 9f3f7bf4ed Fix merge 2018-03-05 23:40:02 -05:00
Sebastien Pouliot 29676a3662 Merge 15.6 into xcode9.3 2018-03-05 17:16:28 -05:00
Manuel de la Pena a5929d560b [AVFoundation] Backport AVFoundation master changes in Xcode 9.3 and add missing API. (#3583) 2018-03-02 08:06:48 -05:00
Sebastien Pouliot b4a59931fb
[xtro] Avoid duplicate 'close' p/invoke across frameworks (#3632)
Depending on the metadata order the symbol will be reported against a
different framework and cause false positives.

Re-using one of the declaration solves this - even if they should,
ideally, be moved to a separated/shared type (like one per fx)

Fixes https://github.com/xamarin/maccore/issues/638
2018-03-02 08:00:19 -05:00
Manuel de la Pena fab52e38c4 [AVFoundation] Backport new API from master. (#3605) 2018-02-28 15:46:22 -05:00
Manuel de la Pena cfc3cbf6ef
[BusinessChat] Introduction of the new framework on iOS and Mac. (#3569) 2018-02-27 12:53:13 +01:00
Vincent Dondain bcecd11d35
[modelio] MDLVoxelArray should have a base type of MDLObject (fix xtro) (#3563) (#3572)
Moving the base type to `MDLObject` wasn't a breaking change on macOS.
There is no reason for the ifdef and xtro reports the issue correctly.
2018-02-22 17:18:22 -05:00
Alex Soto d880b2a435
[MetalPerformanceShaders] Move xto output (#3562)
Unfortunatelly MPS API is considered experimental by apple at the moment
see https://github.com/xamarin/xamarin-macios/issues/3553
2018-02-22 13:35:05 -06:00
Vincent Dondain 3b56d5e780
[modelio] MDLVoxelArray should have a base type of MDLObject (fix xtro) (#3563)
Moving the base type to `MDLObject` wasn't a breaking change on macOS.
There is no reason for the ifdef and xtro reports the issue correctly.
2018-02-22 12:25:18 -05:00
Vincent Dondain 649523524e
[metalkit] Add 'MTKTextureLoader' missing bindings (fix xtro) (#3561) (#3566) 2018-02-22 12:08:06 -05:00
Vincent Dondain afd33cb33a
[metalkit] Add 'MTKTextureLoader' missing bindings (fix xtro) (#3561) 2018-02-21 17:45:05 -05:00
Vincent Dondain 29f99ceac7 Bump Xcode to 9.3 beta 3 (#3554) 2018-02-20 21:58:56 -05:00
Alex Soto a8e5fc5413
[Intents] Fix xtro output (#3512) (#3520) 2018-02-19 11:55:42 -06:00
Alex Soto d304407e78
[Intents] Fix xtro output (#3512) 2018-02-16 12:46:01 -06:00
Alex Soto 273824b3d7
[FinderSync] Fix xtro output (#3511)
This depends on https://github.com/xamarin/xamarin-macios/pull/2315
2018-02-16 11:48:11 -06:00
Manuel de la Pena 688b3020f9
[Foundation] Add missing NSLinguisticAnalysis category. Fixes 35009. (#3473)
* [Foundation] Add missing NSLinguisticAnalysis category. Fixes 35009.
2018-02-16 16:21:47 +01:00
Alex Soto 4cd3f5c2d9
[ImageKit] Fix xtro output (#3509) 2018-02-16 07:45:50 -06:00
Alex Soto 78650fb550
[CoreAudioKit] Fix macOS xtro output (#3508)
* [CoreAudioKit] Fix macOS xtro output

* Fix Midi typo

* Add trailing comma to enum value
2018-02-16 05:49:05 -06:00
Alex Soto 45a8a0420d
[GLKit] Fixes macOS xtro output (#3507) 2018-02-15 22:40:18 -06:00
Alex Soto 6e324d37f9
[GameController] Fixes macOS xtro output (#3505) 2018-02-15 21:56:51 -06:00
Alex Soto 4ddc2dcfed
[CoreLocation] Fix macOS xtro output (#3504) 2018-02-15 20:58:40 -06:00
Vincent Dondain a93a5a10eb
[xtro-sharpie] Fix typo in xtro README
Extra '`'.
2018-02-15 11:45:24 -05:00
Alex Soto 2608528866
[QuickLookUI] Fixes macOS xtro output (#3475) 2018-02-15 09:08:39 -06:00
Alex Soto 3f14eeea44
[GameKit] Fixes macOS xtro output (#3491) 2018-02-15 08:58:58 -06:00
Vincent Dondain 9408eb081d
[security] Add new 'SecKey.GenerateKeyPair' overloads (#3438)
The new overloads allow to set `kSecPrivateKeyAttrs` and `kSecPublicKeyAttrs`.

Fixes bug #34135: Need some constants exposed in Xamarin.iOS binding
(https://bugzilla.xamarin.com/show_bug.cgi?id=34135)

The new APIs were created according to https://developer.apple.com/documentation/security/1395339-seckeygeneratepair?language=objc

Also add `GenerateKeyPairTest`.
2018-02-14 23:34:52 -05:00
mdbech aeee3774a5 [Security] Add 'kSecPrivateKeyAttrs' and 'kSecPublicKeyAttrs' (#3350)
- Add missing/incorrect availability attributes to `SecAttributeKey`.
- `SecTokenID` is available on macOS.
- Fix xtro.
2018-02-14 14:39:34 -05:00
Alex Soto 832db98110
[GameKit] Update to Xcode 9.3 Beta 1 (#3318)
* [GameKit] Update to Xcode 9.3 Beta 1

* Add availability

* Fix xtro output
2018-02-14 09:38:49 -06:00
Alex Soto 060eabc51f
[Appkit] Fix xtro DesignatedInitializer output (#3474)
* [Appkit] Fix xtro Initializer output

* More API fixes after Designated was introduced into existing APIs
2018-02-14 08:09:43 -06:00
Sebastien Pouliot 7c45477e40
[foundation][uikit] Add missing [DesignatedInitializer] on default constructor (#3454)
Like reported by xtro (data files updated)
using the new, simpler `[DesignatedDefaultCtor]` attribute
2018-02-12 22:52:33 -05:00
Alex Soto a97cb69cc2 [StoreKit] Update to Xcode 9.3 Beta 2 (#3436) 2018-02-09 14:11:12 -05:00
Alex Soto 13b196ec6b [Appkit] Update to Xcode 9.3 beta 2 (#3433) 2018-02-09 14:10:41 -05:00
Sebastien Pouliot 1c3f56b926
[src] Add a few missing [RequiresSuper] attributes. Fix #3253 (#3429)
Those were missed because xtro did not scan ObjC categories for
`objc_requires_super` attributes.

Fixing the naming mapping (to consider inlined categories) also
uncovered a few API with extraneous [DesignatedInitializer] attributes
Those were deprecated (API) and moved into categories so xtro missed
the designated initializer was removed.

All your `base`, well `super` in ObjC, now belong to us :)

https://github.com/xamarin/xamarin-macios/issues/3253
2018-02-08 08:44:36 -05:00
Sebastien Pouliot 8c73211776
[webkit] Add NSUserInterfaceValidations conformance to WebView and WKWebView (#3431)
Fix remaining xtro todo on webkit
2018-02-08 08:35:53 -05:00
Sebastien Pouliot ec5b1b7a32
[xtro][passkit] Clean xtro todo for a missing designated initializer (#3432)
it's already fixed in master
2018-02-08 08:35:06 -05:00
Sebastien Pouliot 8e9284f355
Bump ObjectiveSharpie to a version that supports choosing its Xcode. (#3409) (#3428)
Bump ObjectiveSharpie to a version that supports choosing which Xcode to use,
and also change xtro to do exactly that.

Fixes https://github.com/xamarin/maccore/issues/627.
2018-02-07 23:19:48 -05:00
Sebastien Pouliot bc80460409
[imageio] Update for xcode 9.3 beta 2 (#3411)
Two constants with `__IPHONE_NA` were changed to `__IPHONE_11_3`.

Also decorate with [TV] and [Watch] attributes since they are implicit,
i.e. not in the headers but available in tvOS 11.3+ and WatchOS 4.3+
and, without our attributes, would seems to have been available much
earlier
2018-02-07 21:35:56 -05:00
Rolf Bjarne Kvinge 44041f6863
Bump ObjectiveSharpie to a version that supports choosing its Xcode. (#3409)
Bump ObjectiveSharpie to a version that supports choosing which Xcode to use,
and also change xtro to do exactly that.

Fixes https://github.com/xamarin/maccore/issues/627.
2018-02-07 19:21:49 +01:00
Vincent Dondain 60a17f1c11 Bump Xcode to 9.3 beta 2 (#3405) 2018-02-07 04:44:58 -05:00
Chris Hamons 46382d86b8
[ImageIO] Update to Xcode 9.3 Beta 1 (#3339) 2018-02-06 11:51:06 -06:00
Rolf Bjarne Kvinge 9c2010e440
[registrar] Register models in the static registrar. (#3386)
* [registrar] Register models in the static registrar.

This also means we need to quiet a few types of warnings:.

* Models declares virtual methods of required protocol members. We don't
  export virtual methods (only when they're overridden are they exported),
  which results in numerous warnings about protocol members not being
  implemented:

        Xamarin.Mac.registrar.mobile.x86_64.m:37827:17: warning: method 'deviceBrowserView:selectionDidChange:' in protocol 'IKDeviceBrowserViewDelegate' not implemented [-Wprotocol]
        @implementation ImageKit_IKDeviceBrowserView__IKDeviceBrowserViewDelegate {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Quartz.framework/Frameworks/ImageKit.framework/Headers/IKDeviceBrowserView.h:29:1: note: method 'deviceBrowserView:selectionDidChange:' declared here
        - (void)deviceBrowserView: (IKDeviceBrowserView *)deviceBrowserView selectionDidChange: (ICDevice *)device;

* These two are the same as above, just for properties instead of methods.

        Xamarin.Mac.registrar.mobile.x86_64.m:31988:17: warning: auto property synthesis will not synthesize property 'boundingMapRect' declared in protocol 'MKOverlay' [-Wobjc-protocol-property-synthesis]
        @implementation MKOverlay {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKOverlay.h:24:43: note: property declared here
        @property (nonatomic, readonly) MKMapRect boundingMapRect;
                                                  ^
        Xamarin.Mac.registrar.mobile.x86_64.m:32002:1: note: add a '@synthesize' directive
        @end
        ^

        Xamarin.Mac.registrar.mobile.i386.m:28957:17: warning: property 'repeatCount' requires method 'repeatCount' to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation]
        @implementation CAMediaTiming {
                        ^
        /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAMediaTiming.h:58:17: note: property declared here
        @property float repeatCount;
                ^

* [AVFoundation] Special-case AVCaptureDataOutputSynchronizer[Delegate] in the registrar for macOS.

This class and protocol were incorrectly added to our macOS bindings, but
since we can't remove them because it would break backwards compatibility, we
must skip them manually in the registrar, since the registrar would otherwise
produce uncompilable code:

    In file included from Xamarin.Mac.registrar.full.x86_64.m:2:
    ./Xamarin.Mac.registrar.full.x86_64.h:2929:63: error: 'AVCaptureDataOutputSynchronizerDelegate' is unavailable: not available on macOS
    @interface AVCaptureDataOutputSynchronizerDelegate : NSObject<AVCaptureDataOutputSynchronizerDelegate> {
                                                                  ^
    /Applications/Xcode92.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDataOutputSynchronizer.h:101:11: note: 'AVCaptureDataOutputSynchronizerDelegate' has been explicitly marked unavailable here
    @protocol AVCaptureDataOutputSynchronizerDelegate <NSObject>
              ^
    In file included from Xamarin.Mac.registrar.mobile.x86_64.m:2:
    ./Xamarin.Mac.registrar.mobile.x86_64.h:3370:63: error: 'AVCaptureDataOutputSynchronizerDelegate' is unavailable: not available on macOS
    @interface AVCaptureDataOutputSynchronizerDelegate : NSObject<AVCaptureDataOutputSynchronizerDelegate> {

* [AVFoundation] Stub out AVCaptureDataOutputSynchronizer[Delegate] on macOS.

AVCaptureDataOutputSynchronizer[Delegate] were incorrectly added to our macOS
bindings, which makes the static registrar's life difficult. So remove those
bindings, and re-implemented them as normal classes, without any attributes,
which makes the static registrar ignore them (to a certain extent: enough to
not generate uncompilable code at least).

* [registrar] Remove more model exclusion code.

* [xtro] Update ignored entries.
2018-02-05 22:19:34 +01:00
Rolf Bjarne Kvinge 83b81ca9f4
[Foundation] Simplify NSValue code to use [No*] instead of ifdefs. (#3364)
* [Foundation] Simplify NSValue code to use [No*] instead of ifdefs.

Also enable the MKCoordinateSpan and CLLocationCoordinate2D values for NSValue
in macOS, since they're now available (since macOS 10.9).

    Type Changed: Foundation.NSValue

    Added properties:

        public virtual MapKit.MKCoordinateSpan CoordinateSpanValue { get; }
        public virtual CoreLocation.CLLocationCoordinate2D CoordinateValue { get; }

* [Foundation] Mark the new NSValue selectors as 64-bit only.
2018-02-01 07:31:52 +01:00
Chris Hamons 418f1a9590
[VideoToolbox] Update to Xcode 9.3 Beta 1 (#3313) 2018-01-31 08:51:50 -05:00
Vincent Dondain 4c25aa94bd
[arkit] Update for Xcode 9.3 beta 1 (#3343)
- Obsolete `ARFaceAnchor`'s default constructor because it's marked as unavailable.
- Obsolete `CreateFaceGeometry` in `ARSCNFaceGeometry` in favor of `Create` (same as `ARSCNPlaneGeometry`).
2018-01-30 17:09:16 -05:00
Manuel de la Pena a49b01143f
[HomeKit] Update for Xcode 9.3 beta 1. (#3322)
* [HomeKit] Update for Xcode 9.3 beta 1.
2018-01-30 11:49:48 +01:00
Vincent Dondain 5cc720ff37
[backport][arkit] Fix 'Vertices', 'TextureCoordinates' and 'TriangleIndices' in 'ARFaceGeometry' (#3090) (#3342)
- Fixes bug #61056: [ARKit] TriangleIndices, Vertices and TextureCoordinates should be respectively short [], Vector3 [] and Vector2 []
(https://bugzilla.xamarin.com/show_bug.cgi?id=61056)
- Obsolete `short TriangleIndices`.
- Obsolete `Vector3 Vertices`.
- Obsolete `Vector2 TextureCoordinates`.
- Introduced new `short [] GetTriangleIndices ()`.
- Introduced new `Vector3 [] GetVertices ()`.
- Introduced new `Vector2 [] GetTextureCoordinates ()`.
2018-01-29 11:07:52 -05:00
Rolf Bjarne Kvinge a3b425bf97
[AVFoundation] Remove AVCaptureDataOutputSynchronizer[Delegate] from macOS. (#3336)
This class and protocol were incorrectly added to our macOS bindings.

The catch is that we can't remove them because it would break backwards
compatibility, so mark them for removal in XAMCORE_4_0.
2018-01-29 07:39:06 +01:00
Alex Soto a6204f2aa5
[Security] Update to Xcode 9.3 Beta 1 (#3344)
* [Security] Update to Xcode 9.3 Beta 1

Api diff:
- https://github.com/xamarin/xamarin-macios/wiki/Security-iOS-xcode9.3-beta1
- https://github.com/xamarin/xamarin-macios/wiki/Security-tvOS-xcode9.3-beta1
- https://github.com/xamarin/xamarin-macios/wiki/Security-watchOS-xcode9.3-beta1
- https://github.com/xamarin/xamarin-macios/wiki/Security-macOS-xcode9.3-beta1

* Update the xtro files

* Add SecCopyErrorMessageString binding
2018-01-27 16:26:43 -06:00
Chris Hamons 72d91566de [WKWebKit] Update to Xcode 9.3 Beta 1 (#3312)
* [WKWebKit] Update to Xcode 9.3 Beta 1

* Add onlyOn64 on new APIs
2018-01-27 13:38:42 -06:00
Alex Soto 805fcf2d49
[VideoSubscriberAccount] Update bindings to Xcode 9.3 Beta 1 (#3348) 2018-01-27 10:51:56 -06:00
Alex Soto 371decb6da
[SafariServices] Update to Xcode 9.3 Beta 1 (#3347)
* [SafariServices] Update to Xcode 9.3 Beta 1

Api diff:
- https://github.com/xamarin/xamarin-macios/wiki/SafariServices-macOS-xcode9.3-beta1

* Add onlyOn64:true
2018-01-27 10:50:47 -06:00
Alex Soto d07afb5fbc
[PassKit] Update bindings to Xcode 9.3 Beta 1 (#3340)
* [PassKit] Update bindings to Xcode 9.3 Beta 1

Diff files:
- https://github.com/xamarin/xamarin-macios/wiki/PassKit-iOS-xcode9.3-beta1
- https://github.com/xamarin/xamarin-macios/wiki/PassKit-watchOS-xcode9.3-beta1

* Adds DisableDefaultCtor to PKTransitPassProperties and PKSuicaPassProperties

Both `PKTransitPassProperties` and `PKSuicaPassProperties` have getter only props and a factory method.

* Fix intro tests
2018-01-27 10:46:16 -06:00
Vincent Dondain 263e714f5c [xtro] Fix .todo that were addressed during Xcode 9.3 beta 1 bump (#3315) 2018-01-25 19:28:47 -05:00
Alex Soto 4a40d12a6f
[CoreImage] Update to Xcode 9.3 Beta 1 (#3311) 2018-01-25 15:50:51 -06:00
Alex Soto b7f6f57336
[AVFoundation] Update to Xcode 9.3 Beta 1 (#3305)
* [AVFoundation] Update to Xcode 9.3 Beta 1

* Fix sharpie AVFoundation TODO
2018-01-25 13:45:35 -06:00
Alex Soto 5683c91a14
[AVKit] Update to Xcode 9.3 Beta 1 (#3310)
Diff files:
- https://github.com/xamarin/xamarin-macios/wiki/AVKit-tvOS-xcode9.3-beta1
2018-01-25 13:44:07 -06:00
Sebastien Pouliot af3e249cb7
[tests][xtro] Copy xtro from master + update data files to show appropriate todo for beta 1 (#3298) 2018-01-25 09:12:41 -05:00
Vincent Dondain 4da8016db4
[xtro] Report missing-protocol-conformance when protocols are defined… (#3187)
- Fixes bug #59272: [xtro] Report !missing-protocol-conformance! when protocols are defined in categories
(https://bugzilla.xamarin.com/show_bug.cgi?id=59272)
- Implemented missing protocol conformances based on tool's new data.
- Remove Internal check from VisitObjCCategoryDecl and VisitObjCInterfaceDecl
- Ignore previewItemTitle failure (normal since it's optional)
- Only skip UIStateRestoring for subclasses of UIViewController
- Ignore UIStateRestoring test on watchOS (UIViewController not available)
- Remove protocol conformances that generated wrong availability attributes (https://github.com/xamarin/xamarin-macios/issues/3213)
- Avoid new virtual or virtual when adding protocol conformance (https://github.com/xamarin/xamarin-macios/issues/3217)
2018-01-18 13:41:09 -05:00
Rolf Bjarne Kvinge 580ad2b826
[ImageKit] Fix a few protocols to be informal. (#3235)
* [ImageKit] Fix a few protocols to be informal.

Both of these protocols have been informal (categories) since their
introduction in macOS 10.5 (and they've not been made real protocols either).

    $ git grep interface.*IKImageBrowserDataSource
    MacOSX10.5.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.6.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.7.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.8.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.9.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.10.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.11.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.12.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)
    MacOSX10.13.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserDataSource)

    $ git grep interface.*IKImageBrowserItem
    MacOSX10.5.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.6.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.7.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.8.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.9.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.10.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.11.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.12.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)
    MacOSX10.13.sdk/System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/Headers/IKImageBrowserView.h:@interface NSObject (IKImageBrowserItem)

* [xtro] Update ignored data.
2018-01-16 23:32:37 +01:00
Sebastien Pouliot 761a382f01
[macos][mediatoolbox] Add a macOS specific API for XM (#3220)
- added unit test (not much to test)
- xtro data updated
2018-01-16 08:42:11 -05:00
Sebastien Pouliot 3a6d87940a
[coreanimation] Add [Protocol] to CAAnimationDelegate (#3204)
This now formal `CAAnimationDelegate` protocol had to be reverted [1]
because we did not support `FormalSince` at the time - and this broke the
static registrar when used with older SDK. Support was added in [2] but
did not include `CAAnimationDelegate` (but `CALayerDelegate` was fixed).

Because this was not a protocol the `Delegate` property expose it as a
`CAAnimationDelegate`, the concrete/model type, and not an interface.

The workaround so `ICAAnimationDelegate` can be used, thru the
`WeakDelegate`, requires to manually re-bind some API because the
generator won't allow this anymore (it's bad to expose a [Model]
when a [Protocol] exists).

xtro data updated

[1] https://github.com/xamarin/xamarin-macios/pull/698
[2] https://github.com/xamarin/xamarin-macios/pull/2130
2018-01-12 13:56:00 -05:00
Sebastien Pouliot b3b967e985
[macos][gameplaykit] Add missing 'unapplyGameModelUpdate:' API for XM (#3190)
xtro data updated
2018-01-10 11:31:35 -05:00
Sebastien Pouliot f9ceb5c39d
[metalperformanceshaders] Fix MPSImageLanczosScale base class change (#3170)
Sadly this creates a breaking change since the `ScaleTransform`
property was re-introduced with an incorrect signature in the new
base class `MPSImageScale`

Unless someone has an idea how to avoid it (I don't see an option)
then we'll have to document it in the 15.7 release notes.

Also add missing _SetScaleTransform call and related unit tests
2018-01-09 12:03:18 -05:00
Sebastien Pouliot caa1e702a9
[macos][photos] Add some missing error codes and constants for XM (#3181)
xtro data updated
2018-01-09 09:17:42 -05:00
Sebastien Pouliot 8db4cee7f2
[tests][xtro] Don't generate empty (0 length) files (#3169)
Empty results/files are common when things goes well - but are just
noisy, never helpful.
2018-01-08 11:54:59 -05:00
Sebastien Pouliot 52d0483bfe
[foundation] Remove iOS 5.0.1 specific code from NSFileManager (#3167)
This was short-lived (changed in iOS 5.1) and it's now below our
minimum support (iOS 6)
2018-01-05 15:01:15 -05:00
Sebastien Pouliot 1a7f90aef3
[tests][xtro] Add annotations after auditing some unknowns for ExternalAccessory.framework (#3163) 2018-01-05 08:53:11 -05:00
Sebastien Pouliot ec744533b9
[generator] Add support for [RequiresSuper] attribute. Fixes #58350 (#3147)
* Add new attribute;
* Add generator support (re-copy attribute);
* Add xtro rule to detect missing/extra [RequiresSuper] attributes;
* Add attributes to the required API;

The generated code changes (reversed) can be verified with
https://gist.github.com/spouliot/1c91d6ee7c084a06890e5f3f2a475001

Reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=58350
2018-01-04 11:48:00 -05:00
Sebastien Pouliot a9788a480b
[macos][corespotlight] Enable CoreSpotlight for XM (#3157)
First shown (incorrectly) in El Capitan headers it finally made it's way
in High Sierra!
2018-01-04 10:53:52 -05:00
Sebastien Pouliot 09e346142e
[avfoundation] Add some missing API detected by xtro. Also fix #60924 (#3154)
https://bugzilla.xamarin.com/show_bug.cgi?id=60924
2018-01-03 15:09:38 -05:00
Sebastien Pouliot d2c7084f72
[macos][notificationcenter] Fix extraneous setter on NCWidgetProviding.WidgetAllowsEditing (#3150)
Before XAMCORE_4_0 the setter will throw an `NotImplementedException`
which is better, and more accurate, than a native exception.

Found by xtro. Data file updated.
2018-01-03 08:50:36 -05:00
Sebastien Pouliot 3df75b7baa
[macos][audiotoolbox] Enable some existing API for XM (#3149)
and this allows adding (missing) `AVAudioEngine.MusicSequence` for
AVFoundation.

Updated xtro files.
2018-01-02 21:53:12 -05:00
Sebastien Pouliot 3ea8ad4041
[tests][xtro] Annotation update (#3143) 2018-01-02 08:18:32 -05:00
Sebastien Pouliot a69e161d59
[src] Properly annotate designated initializers in many frameworks (#3142)
Correspond to xtro `!missing-designated-initializer!` errors
2017-12-28 16:37:13 -05:00
Sebastien Pouliot dcf8b1110c
[social] Enable SLComposeServiceViewController on macOS and fix other xtro reported issues (#3132)
* SLComposeServiceViewController has [Mac] specific stuff but was
excluded under a (too large) `#if !MONOMAC`

* SLComposeSheetConfigurationItem::init is a designated initializer

* SLRequest::addMultipartData:withName:type: is macOS-only and missing

xtro results:
!missing-designated-initializer! SLComposeSheetConfigurationItem::init is missing an [DesignatedInitializer] attribute
!missing-selector! SLComposeServiceViewController::charactersRemaining not bound
!missing-selector! SLComposeServiceViewController::contentText not bound
!missing-selector! SLComposeServiceViewController::placeholder not bound
!missing-selector! SLComposeServiceViewController::setCharactersRemaining: not bound
!missing-selector! SLComposeServiceViewController::setPlaceholder: not bound
!missing-selector! SLComposeServiceViewController::textView not bound
!missing-selector! SLRequest::addMultipartData:withName:type: not bound
!missing-type! SLComposeServiceViewController not bound
2017-12-28 13:14:23 -05:00
Sebastien Pouliot 02042741db
[macos][photosui] Make PHLivePhotoView available on macOS (#3136)
* PHLivePhotoView only available on 64 bits

xtro results:
!missing-enum! PHLivePhotoViewContentMode not bound
!missing-enum! PHLivePhotoViewPlaybackStyle not bound
!missing-protocol! PHLivePhotoViewDelegate not bound
!missing-selector! PHLivePhotoView::audioVolume not bound
!missing-selector! PHLivePhotoView::contentMode not bound
!missing-selector! PHLivePhotoView::delegate not bound
!missing-selector! PHLivePhotoView::isMuted not bound
!missing-selector! PHLivePhotoView::livePhoto not bound
!missing-selector! PHLivePhotoView::livePhotoBadgeView not bound
!missing-selector! PHLivePhotoView::setAudioVolume: not bound
!missing-selector! PHLivePhotoView::setContentMode: not bound
!missing-selector! PHLivePhotoView::setDelegate: not bound
!missing-selector! PHLivePhotoView::setLivePhoto: not bound
!missing-selector! PHLivePhotoView::setMuted: not bound
!missing-selector! PHLivePhotoView::startPlaybackWithStyle: not bound
!missing-selector! PHLivePhotoView::stopPlaybackAnimated: not bound
!missing-type! PHLivePhotoView not bound

* [xtro] Sort earlier in EnumCheck so we don't have to duplicate checks (or get random failures)
2017-12-28 08:51:34 -05:00
Sebastien Pouliot 9c375c614a
[xtro] Don't assume a nested type when no namespace is available (#3133)
That fix a NRE while running xtro

12:55:31.4682580 System.NullReferenceException: Object reference not set to an instance of an object
12:55:31.4682960   at Extrospection.Helpers.GetFramework (Mono.Cecil.TypeReference type) [0x00012] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/Helpers.cs:284
12:55:31.4683110   at Extrospection.EnumCheck.VisitManagedType (Mono.Cecil.TypeDefinition type) [0x0006c] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/EnumCheck.cs:28
12:55:31.4683210   at Extrospection.AssemblyReader.ProcessType (Extrospection.BaseVisitor v, Mono.Cecil.TypeDefinition type) [0x00001] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/Runner.cs:78
12:55:31.4683320   at Extrospection.AssemblyReader.Load (System.String filename) [0x00079] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/Runner.cs:71
12:55:31.4684210   at Extrospection.Runner.Execute (System.String pchFile, System.Collections.Generic.IEnumerable`1[T] assemblyNames) [0x000f2] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/Runner.cs:41
12:55:31.4684400   at Extrospection.MainClass.Main (System.String[] args) [0x00046] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xtro-sharpie/Program.cs:20

https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/5845/Test_Report/

Short story: PR #3096 adds **non public** attributes without a namespace
so they take precedence over existing ones.

xtro enum check also needed to discard them.
2017-12-22 15:40:19 -05:00
Sebastien Pouliot 3d58e360e5
[xtro] Fix macOS Intent sanity warning (#3131)
PR3119 was done (and tested on bots) before PR3120 that checked for
such mistakes. They were committed in the reverse order too
2017-12-22 13:08:43 -05:00
Sebastien Pouliot 76ea46e347
[tests][xtro] Migration of annotation (WIP) (#3119) 2017-12-22 09:29:37 -05:00
Sebastien Pouliot 81381c3ee6
[watchos][accelerate] Enable Accelerate framework on watchOS (#3127)
According to documentation this was added in watchOS 4.0

xtro reported:
!missing-pinvoke! vImageBoxConvolve_ARGB8888 is not bound
!missing-pinvoke! vImageBoxConvolve_Planar8 is not bound
!missing-pinvoke! vImageConvolve_ARGB8888 is not bound
!missing-pinvoke! vImageConvolve_ARGBFFFF is not bound
!missing-pinvoke! vImageConvolve_Planar8 is not bound
!missing-pinvoke! vImageConvolve_PlanarF is not bound
!missing-pinvoke! vImageConvolveMultiKernel_ARGB8888 is not bound
!missing-pinvoke! vImageConvolveMultiKernel_ARGBFFFF is not bound
!missing-pinvoke! vImageConvolveWithBias_ARGB8888 is not bound
!missing-pinvoke! vImageConvolveWithBias_ARGBFFFF is not bound
!missing-pinvoke! vImageConvolveWithBias_Planar8 is not bound
!missing-pinvoke! vImageConvolveWithBias_PlanarF is not bound
!missing-pinvoke! vImageMatrixMultiply_ARGB8888 is not bound
!missing-pinvoke! vImageRichardsonLucyDeConvolve_ARGB8888 is not bound
!missing-pinvoke! vImageRichardsonLucyDeConvolve_ARGBFFFF is not bound
!missing-pinvoke! vImageRichardsonLucyDeConvolve_Planar8 is not bound
!missing-pinvoke! vImageRichardsonLucyDeConvolve_PlanarF is not bound
!missing-pinvoke! vImageTentConvolve_ARGB8888 is not bound
!missing-pinvoke! vImageTentConvolve_Planar8 is not bound
2017-12-22 09:09:39 -05:00
Sebastien Pouliot b546a20256
[src] Use a single, shared declaration for the 'close' p/invoke (#3126)
Beside eliminating a bit of code duplication this solve the random
(metadata order) xtro report

> ?unknown-entry? !unknown-pinvoke! close bound in 'macOS-ObjCRuntime.ignore'

because it was reported against two namespaces and we don't check
for duplicate p/invokes (largely because there's tons of them in
OpenTK)

Fixes https://github.com/xamarin/maccore/issues/602
2017-12-21 15:18:06 -05:00
Sebastien Pouliot ae061822ac
[tests][xtro] Warn if entries in *.todo files seems fixed (not in corresponding .raw files) (#3120) 2017-12-21 13:10:34 -05:00
Sebastien Pouliot fffaba2414
[xtro] Add sanity tests to keep the entries up to date (avoid invalid, dupes and out of date entries) (#3110) 2017-12-18 10:49:07 -05:00
Sebastien Pouliot 8d854a0f3d
[xtro] Split results by framework and add an HTML report (#3093)
* Not every old annotations have been migrated (work in progress, to be completed in another PR);

* Sanitation of the data files (e.g. removal of dupes and fixed, by Apple, entries) is done, but not automated (also a work in progress)

Even then this is immediately useful, i.e. better merged before 15.6 gets branched.
2017-12-15 14:08:09 -05:00
Vincent Dondain d7b7a6ea02 Merge branch 'xcode9.2' 2017-12-06 14:41:13 -05:00
Rolf Bjarne Kvinge 9a5d952678
[xtro] Fix broken build with Mono.Cecil 0.9.6.4. (#3076)
Facts:

* xtro-sharpie references Mono.Cecil 0.9.6 from a nuget.
* If a local Mono.Cecil.dll can't be found (according to the HintPath in the
  csproj, which points to the nuget), then msbuild will look in the system
  Mono.
* Mono 5.8 ships Mono.Cecil 0.10.
* Mono.Cecil 0.10 is not source compatible with 0.9.6 (there's a small issue
  with interfaces).
* xtro-sharpie's source code works with v0.10.

This all means that xtro-sharpie will build fine as long as the 0.9.6 nuget
has *not* been restored. This can manifest itself confusingly ("msbuild xtro-
sharpie.sln" works fine from the command line, open the solution in VSfM and
it doesn't build anymore, not even from the command line, because VSfM
automatically restored nugets in the background).

Update the source code to work with Mono.Cecil 0.9.6 because there's no 0.10
nuget yet (yet keeping the code for v0.10 clearly marked as such for future
updates to v0.10).

Also bump from 0.9.6.1 to 0.9.6.4 since that's the latest available.
2017-12-01 19:31:46 +01:00
Rolf Bjarne Kvinge dd95d17b5f
[generator] Properly set the IsDirectBinding value. (#3063)
* [generator] Properly set the IsDirectBinding value.

Properly set the IsDirectBinding value to false for models and synthetic types.

This also means we can now stop excluding models when testing if the
IsDirectBinding value is correct.

Also set IsDirectBinding value to true for sealed wrapper types, since those
will always be direct bindings since they can't be subclassed.

https://gist.github.com/rolfbjarne/24028bf944db848fed4083c460d0ec71

* [tests] Add introspection exclusion for XM.

* [introspection] Add back exclusions for Classic, since we can't modify/fix Classic assemblies anymore.

* [generator] Print the correct protocol name with the protocol attribute.

Fixes this test failure:

    [FAIL] Foundation.NSUrlDownloadDelegate : ConformsToProtocol(null) failed

because our binding code claimed that our `NSUrlDownloadDelegate` class
implemented the `NSUrlDownloadDelegate` protocol, but since the
`NSUrlDownloadDelegate` protocol doesn't exist (it's `NSURLDownloadDelegate` -
different case), we'd verify against a null protocol (and return true from
`ConformsToProtocol(null)`, which would fail the test).

* [xtro] Only treat interfaces as protocols.

Unfortunately we add [Protocol] to [Model]s as well as on interfaces, but we
must not process those in xtro, since they don't correspond with the actual protocol.
2017-12-01 15:18:20 +01:00
Rolf Bjarne Kvinge 616c0638be
[xtro] Update csproj to Xcode 9.1 (#3075) 2017-12-01 15:05:09 +01:00
Timothy Risi 87f9e23989 [MetalPerformanceShaders] Xcode 9 bindings (#3005)
* [MetalPerformanceShaders] Activate bindings for Xamarin.Mac and add n… (#2816)

* [MetalPerformaceShaders] Several MPSCnnKernel properties should be readonly (#2938)

The subclasses versions of the properties need Override, cannot be removed since it would break visibility for iOS 10

* Remove some [Model] attributes that sholdn't be needed

* Fix introspection test crashes

* More introspection fixes

* NN does not need to be PascalCased

Remove unneeded Models and BaseTypes

* PR Whitespace fixes and renamings

* Paste fail

* More fixes from PR comments

* [MPS] Adds new intro test, fixes ctors and xtro output

* Removes duplicated availability attributes.
* Removes obsoleted API from macOS since mps is new to it.
* Fixes xtro output.
* Adds missing API.
* Fixes parameterless ctors, some of them do not really work, found
  by our new intro test and disabled the one that seem to not make
  sense due to the presence of DesignatedInitializers.
* Fixes a selector typo.
* Adds new `ShouldNotExposeDefaultCtorTest` to intro.

ShouldNotExposeDefaultCtorTest
==============================

This test checks for types with a parameterless ctor that are subclasses
of `NSObject` and then cheks if the BaseType of said objects also expose
a parameterless ctor (all in .NET land), if this is not the case it reports
them and so they can manually audited. Also this test has the ability to
print alloc/init ObjC code by setting `genObjCTestCode` to `true` so you can
take this code into an Xcode project and easily tests the ctors.

It seems that xtro (sharpie) does not have a complete picture of when a ctor
must be exposed hence the hability to generate this code and manually test.

Right now this test is just enabled for MPS since it is the scope of this PR.
In the future it should be enabled for all other frameworks and the output be
manually audited.

* [MPS] Fixes premature collection possible in bindings (bug 59547) and implements feedback.

https://bugzilla.xamarin.com/show_bug.cgi?id=59547

* Fixes premature collection possible in bindings im MPSKernel.cs
* Fixes MPSImageHistogramTest from using deprecated API.
* Removes renamed selectors and typos from ApiSelectorTest and ApiTypoTest.

* [MPS] Reenable Copy API and DesignatedInitializer xtro feedback

* Implement more feedback

* More feedback
2017-11-28 14:29:05 -06:00
Vincent Dondain f307f377a1 [coreimage] Add new Image Dictionary Keys
- Fixes bug #59296: [coreimage] Some `kCI*`keys are not bound
  (https://bugzilla.xamarin.com/show_bug.cgi?id=59296)
- Generate a StrongDictionary for `CIImageInitializationOptions` to avoid manual code.
- Move `CGImageProperties Properties { get; set; }` to parent type `CIImageInitializationOptions` (avoid 2 strong dictionaries).
  Reason:
  Even though the headers give us an indication of which constructors should use some CIImage keys it's hard to apply that
  to all constructors consistently.
  We could have 1 strong dictionary per constructor (duplicate members) with just the exact members we know it supports (based on headers) however
  it's better to have a single strong dictionary and document the options because A might be available only in X today and Y next too next year.
- Fix `DictionaryContainer`'s `GetStrongDictionary` to return null
and not throw if target StrongDictionary is not yet set.

Basically:

```
var options = new CIImageInitializationOptionsWithMetadata ();
            Assert.That (options.Dictionary.Count, Is.EqualTo (0), "Count");
```

Would throw:

```
System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
  ----> System.ArgumentNullException : Value cannot be null.
```
2017-11-19 14:42:01 -05:00
Bernhard Urban 20182800a1
[runtime] integrate mono 2017-10 (#2905)
* Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.

* [builds] Pass --with-cross-offsets= to crosstv's configure.

* Bump mono to 2017-08.

* Bump mono to 2017-08.

* Force disable 'futimens' and 'utimensat' so that we build with Xcode 9.

This is also needed to build with Xcode 8.3 on High Sierra.

* Remove old AppleTls implementation.

* Bump mono.

* Bump mono to 2017-08.

* Bump mono to 2017-08

* Reenable link-keep-resources-2 test

- This reverts commit 76b759ef22.
- 2017-08 has linker fix

* Bump mono to 2017-10

* Revert "Bump mono to 2017-10"

This reverts commit bb7832724e.

* Bump system mono to 2017-10

* Bump embedded mono to 2017-10

* [runtime] reflect eglib move

9be68f8952

* bump mono

* [btouch] remove Security.Tls usage from test

* [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now.

see
ea4e4a9ef6

fixes:

```
1) Failed : Xamarin.MTouch.Profiling(tvOS)
  _mono_profiler_startup_log
  Expected: collection containing "_mono_profiler_startup_log"
  But was:  < "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0

2) Failed : Xamarin.MTouch.Profiling(watchOS)
  _mono_profiler_startup_log
  Expected: collection containing "_mono_profiler_startup_log"
  But was:  < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" >
at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0
```

* [mmptest] update log profiler options.

826558a4af
deprecated the dash prefix for the mlpd path.

`noallocs` or `nocalls` are not needed, neither of them are default anymore.

* [mmptest] fix link-keep-resources-2 test to cope with more corlib resources.

another corlib resource (mscorlib.xml) was added:

https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d

* Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources."

This reverts commit 350eb3c174.

* [XHarness] Add the Mono.Data.Tds tests.

* Address comments from rolf in the review.

* [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped

the test was failing in that way:

> Executing link-keep-resources-2...
> [FAIL]	i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml

also update the output, because it's actually expected at least three
elements.

fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277

* bump mono

fixes crash in tvOS: https://github.com/mono/mono/pull/5812

* bump mono for updated BCL tests

see https://github.com/mono/mono/pull/5820

* [mono] set 2017-10 branch in .gitmodules

* [macos] Fix guiunit error on clean builds by depending on correct copy (#2912)

* [macos] Fix guiunit error on clean builds by depending on correct copy

- From a clean build making a BCL test would error due to the non-mobile guiunit not being built
- This was because the Makefile-mac.inc target was incorrect
- This was because xharness assumed that non variation based targets were always Modern
- However, BCL tests are Full, not Modern

* Code review change

* Swap to var to reduce diff

* Revert changes in the paths for GuiUnit.

* [XHarness] Add the System.IO.Compression bcl tests. (#2918)

* [XHarness] Add the System.IO.Compression bcl tests.

*  [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924)

* [XHarness] Add the System.IO.Compression bcl tests.

* Ensure that resources are correctly copied in the bundles.

* [XHarness] Add bcl tests for System.IO.Compression.FileSystem.

* As per review, make the Mac test app name match the tests that are ran.

* [XHarness] Add Mono.CSharp tests on ios. (#2927)

* [XHarness] Add Mono.CSharp tests on ios.

* Bump mono to bring changes in the mono.csharp tests.

* [xtro-sharpie] fix TypeDefinition access due to Cecil change

* Bump mono

* bump mono

fixes
- https://bugzilla.xamarin.com/show_bug.cgi?id=60480
- https://bugzilla.xamarin.com/show_bug.cgi?id=60482

* bump mono

more fixes around conflicting paths when tests are run in parallel.

* Bump for mono/mono@2017-10
2017-11-14 21:30:08 +01:00
Alex Soto 4ab10b0c3a
[AVFoundation] Update up to Xcode 9.2 Beta 2 (#2978)
* [AVFoundation] Update up to Xcode 9.2 Beta 2

* implement feedback
2017-11-10 14:19:38 -06:00
Alex Soto 651a3f73e8
[CoreML] Update up to Xcode 9.2 Beta 2 (#2979)
* [CoreML] Update up to Xcode 9.2 Beta 2

* Add global::
2017-11-09 15:27:21 -06:00
Alex Soto f2da9cde6b
[xtro] Re-enable InputMethodKit in xtro tests, fixes bug 57241 (#2987)
https://bugzilla.xamarin.com/show_bug.cgi?id=57241
2017-11-09 08:41:06 -06:00
Sebastien Pouliot 395feca0d9 Merge branch 'xcode9.1' into master-merge-xcode91-take2 2017-11-03 10:30:07 -04:00
Rolf Bjarne Kvinge 948c4e4f95 [xtro-sharpie] Fix wrench build to use the correct MSBuild invocation. 2017-11-01 08:34:03 +01:00
Sebastien Pouliot 5239f2528a Merge branch 'xcode9.1' into d15-5-xcode9.1 2017-10-31 23:31:00 -04:00
Sebastien Pouliot 16214f305b Revert "[MetalPerformanceShaders] Activate bindings for Xamarin.Mac and add n… (#2816)"
This reverts commit 531bafcfaa.
2017-10-31 17:17:54 -04:00
Alex Soto 2dac229ef6
Fix HealthKit xtro output (#2935) 2017-10-30 11:08:42 -06:00
Alex Soto 79d325d5ae [SceneKit] Adds Xcode 9 Beta 1 to stable bindings (#2925)
* [SceneKit] Add Xcode 9 Beta 1 to stable bindings

* Implement feedback

* Use https instead of htt(t)p in links, and link to iOS directly
2017-10-27 09:47:19 -05:00
Rolf Bjarne Kvinge 11f77d226c Add Objective Sharpie 3.4 as an optional dependency, and add support for running xtro tests on wrench+jenkins. (#2887) (#2922)
This will add Objective Sharpie as an optional dependency, only enforced if
actually trying to run the xtro tests.

The wrench/jenkins tests will show up as green for now (since there are known
failures in the xtro tests that have to be addressed first).
2017-10-26 10:43:45 -04:00
Timothy Risi 531bafcfaa [MetalPerformanceShaders] Activate bindings for Xamarin.Mac and add n… (#2816) 2017-10-23 11:16:38 -08:00
Rolf Bjarne Kvinge 531ae21ab8 [xtro-sharpie] Update README to explain how to install ObjectiveSharpie. (#2909) 2017-10-19 14:25:24 -05:00
Rolf Bjarne Kvinge b5fc060ce7 [xtro] Fix typo and unknown/wrong counting. (#2903)
Fix typo and change how to count unknown/wrong API to not count when the
Makefile is read ($(shell ...) - before executing the tests, and as such not
finding anything wrong), but instead when printing the count (using
backticks).
2017-10-18 13:31:26 +02:00
Rolf Bjarne Kvinge 28673d3e31 Add Objective Sharpie 3.4 as an optional dependency, and add support for running xtro tests on wrench+jenkins. (#2887)
This will add Objective Sharpie as an optional dependency, only enforced if
actually trying to run the xtro tests.

The wrench/jenkins tests will show up as green for now (since there are known
failures in the xtro tests that have to be addressed first).
2017-10-17 12:03:50 +02:00
Alex Soto dea070f617 [NetworkExtension] Update binding from Xcode 9 Beta 1 to Stable (#2877)
* [NetworkExtension] Update binding from Xcode 9 Beta 1 to Stable

Also found some minor issues on the macOS side of older API
checking xtro, fixed all of them in XAMCORE_4_0.

```
!unknown-field! NEFilterProviderRemediationMapRemediationButtonTexts bound
!unknown-field! NEFilterProviderRemediationMapRemediationURLs bound
!unknown-type! NEFilterProvider bound
```

* implement feedback and fix a build registrar issue

* change TLS to Tls
2017-10-13 01:08:17 -05:00
Rolf Bjarne Kvinge dbb37b3e4f [CoreGraphics] Implement CoreGraphics bindings for Xcode 9. (#2812)
* [ios11-b1] CoreGraphics bindings

* Updated with feedback from Sebastien

* Fix build, optimize checks

* Add version information

* Address comments

* Tests

* Remove Apply code, add special code for typo

* [CoreGraphics] Add comma after last enum value.

* [CoreGraphics] No need to bind CGColorSpaceGetName.

* [CoreGraphics] Add new field in Xcode 9 beta 5.

* [CoreGraphics] Move kCGPDFContextAccessPermissions to the correct dictionary container and implement the corresponding manual code.

* [CoreGraphics] Adjust nullability acceptance based on new attributes for CGColorSpace.CreateCalibratedGray/RGB functions.

* [CoreGraphics] Bind CGColorSpaceCreateLab, introduced in Xcode 9 beta 5.

* [CoreGraphics] Adjust CGColorSpaceCreateWithICCData and CGColorSpaceCreateWithICCProfile bindings according to Xcode 9 beta 2.

Apple introduced CGColorSpaceCreateWithICCData in b1, and made
CGColorSpaceCreateWithICCProfile a typedef to CGColorSpaceCreateWithICCData.

Apple reversed the typedef in b2 (probably because it creates broken
executables when targetting earlier versions of macOS, since those executables
would use CGColorSpaceCreateWithICCData, which would not exist), and instead
made CGColorSpaceCreateWithICCProfile a normal deprecated method.

So copy this logic in our bindings: deprecate CreateICCProfile, and introduce
CreateICCProfile, with two overloads for NSData and CGDataProvider (since
that's what's accepted according to the documentation).

* [CoreGraphics] Add CGContextPDF constructors to make parity between different overloads.

There are two types of CGContextPDF constructors: the first argument is either
an NSUrl or a CGDataConsumer. Previously the NSUrl type had more overloads,
and also allowed a null CGRect for the second argument. With the overloads are
identical between the two types of CGContextPDF constructors.

Existing constructors:

	CGContextPDF (NSUrl, CGRect, CGPDFInfo)
	CGContextPDF (NSUrl, CGRect)
	CGContextPDF (NSUrl, CGPDFInfo)
	CGContextPDF (NSUrl)
	CGContextPDF (CGDataConsumer, CGRect, CGPDFInfo)

Added constructors:

	CGContextPDF (CGDataConsumer, CGRect)
	CGContextPDF (CGDataConsumer, CGPDFInfo)
	CGContextPDF (CGDataConsumer)

Additionally the code has been fixed to not throw NullReferenceExceptions if
null is passed for any of the values and instead pass on any null values to
the native `CGPDFContextCreate` method (since `CGPDFContextCreate`'s arguments
are all `__nullable`).

* [tests] Add and improve existing tests for new and some existing CoreGraphics API.

* Undo accidental whitespace noise.

* [tests] Remove random characters in assert message.

* [CoreGraphics] Improve argument exception messages in CGColorSpace according to review.

* [CoreGraphics] Use 'Icc' instead of 'ICC' for new API, and also make the change for XAMCORE_4_0.

* [CoreGraphics] Fix availability attribute for High Sierra.

* [tests] Update monotouch-test after API changes.
2017-10-02 12:02:41 +02:00
Timothy Risi 9ffe563de4 [macOS] Fix new xtro failures introduced by the xcode9 branch (#2741) 2017-09-25 09:52:17 -08:00
Timothy Risi 65daac9573 [macOS] Fix new xtro failures introduced by the xcode9 branch (#2741) 2017-09-25 09:50:44 -08:00
Sebastien Pouliot 91a53f73f2 Merge xcode9 into d15-4[-xi] (#2710)
* [FileProvider] Add Xcode 9 Beta 1, 2 & 3 Bindings (#2279)

* [FileProvider] Add Xcode 9 Beta 1 Bindings

* Better naming

* Feedback not related to BindAs

* [FileProvider] Removes BindAs, add manual code for it and updated to Beta 3

* [FileProvider] Implement feedback

* [CoreSpotlight] Updated spotlight bindings for xcode 9 beta 3. (#2193)

Updated spotlight bindings for xcode 9 beta 3.

* Fix warning caused by duplicate (#2354)

* [FileProviderUI] Add Xcode 9 Beta 1 to 3 bindings (#2356)

* Bump to Xcode 9 beta 4

* [arkit] ARLightEstimate does not conform to NSCopying anymore (fix unit test)

* [uikit] NSFileProviderExtension.ReparentItem got a new parameter in beta4 (fix unit test)

* [coreimage] CIImageAccumulator init returns nil in beta 4

There's no header change to mention `init` is not allowed but
it's not clear how this default initializer could be used.

Also make public some other API to construct this type (outside
of XM). It's not clear why there were `internal` as they are
(at least now) part of the header files.

* [photos] Add helpers when PHLivePhotoEditingOption/NSDictionary is null (to avoid ambiguous API) (#2360)

Adding a strongly typed `PHLivePhotoEditingOption` (a strongly typed
version of an `NSDictionary`) can cause a `CS0121` (call is ambiguous)
since using a `null` argument is common (only one option exist so far).

This PR adds overloads that makes the code nicer in such case, e.g.

before Xcode9:

> // null is used when no options are given
> _foo.SaveLivePhoto (output, null, completion);

current (Xcode 9)

> // casting required to remove ambiguity with PHLivePhotoEditingOption
> _foo.SaveLivePhoto (output, (NSDictionary)null, completion);

with this PR

> // no option, no argument
> _foo.SaveLivePhoto (output, completion);

The same applies to `PrepareLivePhotoForPlayback`.

* [tests] Disable/tweak two tests that breaks on (almost) all Xcode updates

Those tests were not added to validate xOS so just keep the parts
that helps us (without constantly checking back the new break flavor)

* Disable watchOS to check if this hides others issues

* [mapkit] Update for beta 4

* [coredata] Update for beta 4

* [wkwebkit] Update for beta 4

Note: WKWindowFeatures.h is not compiled (part of the framework umbrella)
and the `@interface WKWindowFeatures (WKPrivate)` sounds like it should
not have been exposed (it's all fields starting with `_`)

* [corelocation] Update for beta 4

* Revert "Disable watchOS to check if this hides others issues"

This reverts commit fed2249fa4.

* [tests] Disable watchOS from harness only. Workaround #58348

https://bugzilla.xamarin.com/show_bug.cgi?id=58348

* [spritekit] Update for beta 4 (#2368)

* [arkit] Update for beta 4 (#2370)

* Bump version before preview 3 (#2375)

* [generator] Fix smart enum FieldAttribute LibraryName generation (#2376)

This fix is needed by PDFKit because it is a remapped framework[0],
the current code generates incorrect FieldAttribute on smart enums
because it uses `fa.LibraryName` as first option and this causes
remmaped frameworks have incorrect LibraryName generated for example
if a Field uses `+CoreImage` as `LibraryName` the following incorrect
code is generated:

```
	[Field ("First", "+CoreImage")]
	internal unsafe static IntPtr First {
		get {
			fixed (IntPtr *storage = &values [0])
				return Dlfcn.CachePointer (Libraries.+CoreImage.Handle, "First", storage);
		}
	}
```

[0]: f5956d6cc1/src/generator.cs (L5985)

* [FinderSync] Update to beta 4 (#2377)

* [ImageIO] Update to Xcode 9 (#2353)

* [PhotosUI] Move macOS photosui bindings out of photos.cs into photosui.cs (#2358)

* [quicklook] Update up to beta 4 (#2374)

* [uikit] UIDragInteraction & UIDragInteractionDelegate (Xcode 9 b1,2,3) (#2357)

* [safariservices] Update up to beta 4 (#2380)

* [coreanimation] Update to beta 4 (#2382)

Apple removed (mistake?) some API in beta 1. Filed as rdar 33590997

Internal tracking in
https://trello.com/c/J8BDDUV9/86-33590997-coreanimation-quartzcore-api-removals

* [storekit] Update up to beta 4 (#2379)

* [CoreML] Update to Xcode 9 Beta 4 (#2387)

* [uikit] UICollectionView/UITableView Drag & Drop (Xcode 9 b1,2,3 & 4) (#2355)

* Update code after radar 32929318 and 32897776 are fixed in b4 (#2394)

* [xcode9 CoreAudio] New definitions from Beta1 to Beta3 (#2359)

* [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512 (#2397)

* [Vision] Strongify VNBarcodeSymbology API, Fixes Bug 58512

https://bugzilla.xamarin.com/show_bug.cgi?id=58512

Created strong API (VNBarcodeSymbology) on the following properties

* VNDetectBarcodesRequest.SupportedSymbologies
* VNDetectBarcodesRequest.Symbologies
* VNBarcodeObservation.Symbology

* Remove modern C# because classic can't do it 😡

* [mediaplayer] Update up to beta 4 (#2388)

* [watchkit] Update to beta 4 (#2398)

* Bump Visual Studio for Mac max version (#2408)

* [coreimage] Add CIBarcodeDescriptor and enabled missing API for VNBarcodeObservation. Fix #58197 (#2411)

https://bugzilla.xamarin.com/show_bug.cgi?id=58197

* [uikit] Update UIFocus related APIs to Xcode 9 beta 4 (#2407)

* [uikit] Update UIFocus related APIs to Xcode 9 beta 4

* [uikit] Fixes based on comments

* [coreimage] CIImageAccumulator API fixes. Fix #58349 (#2412)

* Obsolete the default `init`;

* XM exposed some older APIs using `int` instead of `CIFormat`.
  This is fixed and old APIs are obsoleted;

* Both new & old APIs are now using `CIFormat` for both XI and XM.

https://bugzilla.xamarin.com/show_bug.cgi?id=58349

* [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410)

* [uikit] UISplitView & UIStackView up to Xcode 9 beta 4 (#2425)

* Bump XI/XM versions before preview 4 (#2422)

* [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378)

* [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4

* [PDFKit] Implement feedback

* [PDFKit] the forgotten enum

* [PDFKit] More feedback

* [PDFKit] Add Mac changes

* Missing change

* Fix test RectangleF VS CGRect

* Pass -Wunguarded-availability-new to quiet a new clang warning (#2424)

- https://bugzilla.xamarin.com/show_bug.cgi?id=58574

* [mtouch/mmp] Ignore warnings about unguarded code section with regards to availability. (#2441)

* [monotouch-test] Remove workaround for fixed Apple bug. (#2445)

* Bump to Xcode 9 beta 5. (#2447)

* Bump to Xcode 9 beta 5.

* [mmp] Disable the partial static registrar, because Apple's macOS SDK is broken.

> In file included from Xamarin.Mac.registrar.mobile.i386.m:1:
> In file included from ./Xamarin.Mac.registrar.mobile.i386.h:11:
> /Applications/Xcode9-beta5.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVFoundation.h:88:9: fatal error: 'AVFoundation/AVRouteDetector.h' file not found

https://bugzilla.xamarin.com/show_bug.cgi?id=58629

* [mmp] Fix partial static registrar removal.

* [CallKit] Update to Xcode 9 beta 5.

* [ARKit] ARPointCloud doesn't conform to NSCopying anymore in Xcode 9 beta 5.

* [ARKit] Update to Xcode 9 beta 5 enough to make tests happy.

* [CoreImage] Stub out new filters in Xcode 9 beta 5.

* [tests][monotouch] Simplify some MDLMesh asserts since values change a lot between OS versions.

* [mmp] Default to the dynamic registrar for release builds again, due to bug #58629.

https://bugzilla.xamarin.com/show_bug.cgi?id=58629

* [tests][introspection] CXCall started implementing NSCopying without saying so in the headers.

* Disable mmp static registrar tests due to 58629 for now

* [quicklook] Update to beta 5 (#2450)

* [photos] Update for beta 5 (#2452)

Also update some existing enum members were added in beta 1 on macOS

* [safariservices] Update for beta 5 (#2455)

* [mediaplayer] Update to beta 5 (#2456)

* [CoreLocation] Update Xcode 9 Beta 5 (#2453)

* [CoreML] Update to Xcode 9 Beta 5 (#2454)

* [Contacts] Update to Xcode 9 Beta 5 (#2451)

* [Vision] Update to Xcode 9 Beta 5 (#2458)

* [builds] Tell LLVM to stay away from newer macOS functions. (#2459)

Fixes this build problem on Sierra:

> ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64

This is a symbol that was (will be?) introduced in High Sierra.

Interestingly this only occurs if the Xcode 8.X Command Line Tools haven't
been manually installed.

Because if the Xcode 8.X Command Line Tools are installed, this happens:

1. llvm's configure script detects that 'futimens' is not usable.

2. llvm's configure script detects that 'futimens' is not usable, because
   xcrun sets SDKROOT=/ when calling clang.

    a. When the SDKROOT variable is set, clang passes '-syslibroot /usr/lib'
       to ld.
    b. When ld gets '-syslibroot /usr/lib', ld looks in '/usr/lib' for a
       library that contains 'futimens' in the OS itself, and since we're on
       Sierra, that fails to link.
    c. So when llvm's configure script creates a test program that checks if
       'futimens' is present, the program fails. This is correct, and makes
       llvm *not* use futimens.

3. xcrun sets SDKROOT=/ because /usr/share/current-os.sdk/Info.plist exists.
   If that file does not exist, then xcrun sets SDKROOT to Xcode9's macOS SDK
   (because that's what xcode-select reports).

    a. When SDKROOT is set to Xcode9's macOS SDK, the configure check for
       'futimens' succeeds, because the macOS 10.13 SDK contains that
       function.
    b. llvm happily uses 'futimens', and then the final link fails because
       we're using a symbol not available on all target platforms.

* [arkit] Update for Xcode 9 beta 5 - Part 1 (#2460)

* [tests] The container app for watchOS tests should be 64-bit. (#2463)

* [xharness] watchOS tests need to run in a clean environment. Works around #58348. (#2462)

https://bugzilla.xamarin.com/show_bug.cgi?id=58348

* [xharness] It watchOS tests don't need to be clean anymore. Fixes #58348. (#2473)

https://bugzilla.xamarin.com/show_bug.cgi?id=58348

* [uikit] UIView/UIScrollView/UIViewController up to Xcode 9 beta 5 (#2431)

- Add NSDirectionalEdgeInsets type.
- Includes DirectionalEdgeInsetsTest.

* [AudioToolbox] Update bindings to Xcode 9 beta3 (not later changes). (#2294)

* [xharness] Add a file existence check. (#2478)

Fixes this exception:

```
Harness exception for 'introspection': System.IO.FileNotFoundException: Could not find file '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'.
File name: '/Users/builder/Library/Logs/CoreSimulator/27618A4A-7E49-4BAB-8F77-FA938CE88682/system.log'
at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x00207] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/__error.cs:188
at System.IO.FileInfo.get_Length () [0x00038] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/io/fileinfo.cs:171
at xharness.CaptureLog.StopCapture () [0x00021] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Log.cs:252
at (wrapper remoting-invoke-with-check) xharness.CaptureLog:StopCapture ()
at xharness.AppRunner+<RunAsync>d__68.MoveNext () [0x0127f] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/AppRunner.cs:642
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:357
at xharness.RunSimulatorTask+<RunTestAsync>d__7.MoveNext () [0x0029d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2894
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.RunTestTask+<ExecuteAsync>d__8.MoveNext () [0x0010b] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:2538
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:151
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /private/tmp/source-mono-2017-04/bockbuild-2017-04/profiles/mono-mac-xamarin/build-root/mono-x64/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:113
at xharness.TestTask+<RunInternalAsync>d__87.MoveNext () [0x0010d] in /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/xharness/Jenkins.cs:1870
```

I'm not sure how this can happen, but it has on the bots [1].

[1] https://jenkins.mono-project.com/job/xamarin-macios-pr-builder/4548/Test_Report/

* Bump versions for preview 5 (#2479)

* [passkit] Update to beta 5 (#2481)

* [tests] Remove workaround for radar #32688391. (#2486)

* [replaykit] Update up to beta 5 (#2484)

* Bump maccore to get fix for bug #55064. (#2487)

* [apidiff] Update definition to new 10.12 (d15-3) stable release (#2490)

* [SceneKit] basic work (#2483)

* [coredata] Update to beta 5 (#2488)

* [homekit] Update for Xcode 9 beta 5 (#2492)

* [Foundation] Update for xcode9 (#2468)

* [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493)

* [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5

* [Intents] Implement feedback

* [Intents] Add a generic version for INInteraction.GetParameterValue

* [Intents] Missing check

* [Contacts] Add missing foundation NSItemProviderWriting protocol to CNContact (#2496)

https://bugzilla.xamarin.com/show_bug.cgi?id=58203

This is available on all Contacts supported platforms

```
./iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./WatchOS.platform/Developer/SDKs/WatchOS4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
./WatchSimulator.platform/Developer/SDKs/WatchSimulator4.0.sdk/System/Library/Frameworks/Contacts.framework/Headers/CNContact+NSItemProvider.h:@interface CNContact (NSItemProvider) <NSItemProviderReading, NSItemProviderWriting>
```

* [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas) (#2497)

* [IntentsUI] Update to Xcode 9 Beta 1 & 2 (No changes on later betas)

* [IntentsUI] Better use a delegate instead so we have named params

* Bump versions before 6th preview (#2514)

* [arkit] Add missing MarshalDirective to ARPlaneAnchor (#2517)

- Fixes bug #58648: ARPlaneAnchor.Extent property seems incorrect but changes to correct value after Debug access
(https://bugzilla.xamarin.com/show_bug.cgi?id=58648)

* [xtro-sharpie] Fix a compiler warning. (#2516)

Fixes these warnings:

Runner.cs(197,5): warning CS0642: Possible mistaken empty statement
Runner.cs(199,5): warning CS0642: Possible mistaken empty statement
Runner.cs(201,5): warning CS0642: Possible mistaken empty statement
Runner.cs(203,5): warning CS0642: Possible mistaken empty statement
Runner.cs(205,5): warning CS0642: Possible mistaken empty statement

* [uikit] Update for Xcode 9 beta 5 - Part 3 (#2511)

- UIKeyCommand
- UINavigationBar
- UINavigationItem
- UIPasteboard
- UITableViewHeaderFooterView

* [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522)

* [xtro-sharpie] Build with msbuild and be as quiet as requested when building.

* [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit.

* [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE.

* [xtro-sharpie] Remove xtro-plugin and the related commands.

This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie
in a 64-bit process.

Now there is a 64-bit mono, so it's not needed anymore.

Also improve makefile targets a bit, to auto-build stuff when needed, by
setting the right dependencies.

* Bump Xcode 9 to beta 6 (#2519)

Disable watchOS tests again
It seems like the Carousel crash from beta 4 is back to haunt us.
This was working fine with beta 5.

* Backport d15-3 SR2 fixes (#2515)

* [coredata] Update to beta 6 (#2528)

This seems to only revert some nullability changes from beta 5.

* [coreml] Update to beta 6 (#2531)

Fix our rdar 33643011 where additional setters were added in the headers
but did not exists.

* [videosubscriberaccount] Update to beta 6 (#2533)

Only b1 and b2 introduced some additions/changes

* [uikit] Update for Xcode 9 beta 6 - Part 4 (#2527)

The following headers are now up to date:

- UICollectionViewFlowLayout.h
- UIDocumentPickerViewController.h
- UIFontDescriptor.h
- UIImage.h
- UIImageView.h
- UIImagePickerController.h

* [xharness] Re-enable the watchOS tests. (#2534)

It works fine for me locally, so let's see what Jenkins says.

* [macos] Add new APIs in CoreWlan from Xcode9b3 (#2525)

* Update AppKit bindings based on radar 33271241 results (#2518)

* Update AppKit bindings based on radar 33271241 results

- The header comment was updated to note it was NSSliderTouchBarItem view that has the protocol

* Remove NSUserInterfaceCompression where not listed in header

* [vision] Update to beta 6 (#2532)

Removal of some deprecated (during beta) `init*` selectors.

Also sync the versions that were inlined in subclasses - the old
ones were not removed and the new ones were not added.

* [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523)

This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a

* [macos] Add ExternalAccessory APIs from xcode9 (#2526)

* [58851] Disable NSMenuView in AllItemsWithNSMenuShouldAllowNull (#2504)

* [arkit] Update for Xcode 9 beta 5 - Part 2 (#2505)

- Add last missing selector.
- Add tests for manual code.

* [monotouch-test] Disable FontDescriptorTest.WithFeature (#2537)

Disabled because it looks like the tvOS font we use: "Gujarati Sangam MN"
does not have rare ligatures anymore (and the entire test is based on it).
Before getting an actual fix for that, let's disable the test so it doesn't break all current builds.
See: https://bugzilla.xamarin.com/show_bug.cgi?id=58929

* [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524)

Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute
to calculate the native name for a TypeDefinition.

Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59

* [foundation/uikit] Inline NSItemProvider_UIKitAdditions in NSItemProvider (#2538)

As suggested here: https://github.com/xamarin/xamarin-macios/pull/2527#discussion_r134670981

* [intents] Fix breaking changes (api-diff) (#2543)

Additions of @required members inside `INSpeakable` cannot be `[Abstract]`

* [contacts] Fix breaking change (api-diff) (#2542)

Type Changed: Contacts.CNPostalAddress

Removed method:

	public static string LocalizeProperty (CNPostalAddressKeyOption option);

* [macos] Reenable static registrar since Xcode9b6 un-broke SDK headers (#2544)

- Fix a subtle spacing issues in PartialStaticLibrary property

* [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540)

macOS 10.13 has finally catch up with iOS and this simplifies the
bindings a bit.

* [foundation] API fixes (apidiff) (#2545)

1. Let's not add new, already [Obsolete] API

Type Changed: Foundation.NSDimension

Added constructors:

	[Obsolete ("Not intended to be directly instantiated, this is an abstract class.")]
	public NSDimension ();

2. Fix inconsistently named API, e.g.

Type Changed: Foundation.NSAttributedString

Added properties:

	public static string[] ReadableTypeIdentifiersForItemProvider { get; }
	public static string[] WritableTypeIdentifiers { get; }

* [pdfkit] Do not add already [Obsolete] API in new profiles (#2547)

and ensure using the newer, correct API works cross-platforms

iOS (before)
	[Obsolete ("Use 'Find (string, NSStringCompareOptions)' instead.")]
	public virtual PdfSelection[] Find (string text, nint options);
	public PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions);

	[Obsolete ("Use 'Find (string, PdfSelection, NSStringCompareOptions)' instead.")]
	public virtual PdfSelection Find (string text, PdfSelection selection, nint options);
	public void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions);

	[Obsolete ("Use 'FindAsync (string, NSStringCompareOptions)' instead.")]
	public virtual void FindAsync (string text, nint options);
	public void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions);

	[Obsolete ("Use 'FindAsync (string [], NSStringCompareOptions)' instead.")]
	public virtual void FindAsync (string[] text, nint options);

iOS (after)
	public virtual PdfSelection[] Find (string text, Foundation.NSStringCompareOptions compareOptions);
	public virtual PdfSelection Find (string text, PdfSelection selection, Foundation.NSStringCompareOptions compareOptions);
	public virtual void FindAsync (string text, Foundation.NSStringCompareOptions compareOptions);
	public virtual void FindAsync (string[] text, Foundation.NSStringCompareOptions compareOptions);

* Bump versions for the 7th preview (#2541)

* Remove additions of AVKit removed in beta5 (#2536)

* NSUrlSessionTask should implement NSProgressReporting for iOS (#2548)

NSUrlSessionTask implements NSProgressReporting on iOS as well as Mac, so the #if MONOMAC isn't needed.

* Add missing availability attributes causing failures on older iOS versions (#2550)

* [vision] Minor fix wrt xtro (#2551)

including some things we need to ignore manually

!missing-field! VNVisionVersionNumber not bound
!missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound
!missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound

* [uikit] NSFileProviderMessaging was removed in beta 2. Fixes #58222 (#2552)

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=58222

* [uikit] Update for Xcode 9 - Part 5 (#2546)

Bindings for the following headers:
-  UIActivity.h
-  UIActivityItemProvider.h
-  UIAlertController.h
-  UIApplication.h
-  UIBarButtonItem.h
-  UIButton.h
-  UICollectionViewLayout.h
-  UIColor.h
-  UIControl.h
-  UIDocumentMenuViewController.h
-  UIFontMetrics.h
-  UIGestureRecognizer.h
-  UIGraphicsImageRenderer.h
-  UIInputViewController.h

* [CoreText] Fix an extraneous free in CTFont.GetDefaultCascadeList. (#2555)

We do not own the return value from CFArrayGetValueAtIndex, so don't say we do
when creating CTFontDescriptor instances, since that leads to angry dragons:

    2017-08-28 20:15:20.293 monotouchtest[33186:2311738] A_FontTest
    2017-08-28 20:15:20.294 monotouchtest[33186:2311738] 	[PASS] A_FontTest.CTFontCreateWithFontDescriptorAndOptions
    2017-08-28 20:15:20.295 monotouchtest[33186:2311738] 	[PASS] A_FontTest.CTFontCreateWithNameAndOptions
    2017-08-28 20:15:20.296 monotouchtest[33186:2311738] critical: Stacktrace:

    at <unknown> <0xffffffff>
    at (wrapper managed-to-native) CoreText.CTFont.CTFontCopyDefaultCascadeListForLanguages (intptr,intptr) [0x0000a] in <ae65a2b1eea242d2b68fe784749543bf>:0
    at CoreText.CTFont.GetDefaultCascadeList (string[]) [0x00013] in /work/maccore/xcode9/xamarin-macios/src/CoreText/CTFont.cs:2185
    at MonoTouchFixtures.CoreText.A_FontTest.GetCascadeList () [0x0001e] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/CoreText/FontTest.cs:78
    at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0004f] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0
    at <unknown> <0xffffffff>
    at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <7c58d77f8ca548d5b9b32e70a64ba2fd>:0
    at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00032] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
    at System.Reflection.MethodBase.Invoke (object,object[]) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
    at NUnit.Framework.Internal.Reflect.InvokeMethod (System.Reflection.MethodInfo,object,object[]) [0x00009] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Reflect.cs:215
    at NUnit.Framework.Internal.Commands.TestMethodCommand.RunNonAsyncTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x00025] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:116
    at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod (NUnit.Framework.Internal.TestExecutionContext) [0x0001a] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:90
    at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/TestMethodCommand.cs:66
    at NUnit.Framework.Internal.Commands.SetUpTearDownCommand.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00007] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/Commands/SetUpTearDownCommand.cs:84
    at NUnit.Framework.Internal.WorkItems.SimpleWorkItem.PerformWork () [0x00000] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/SimpleWorkItem.cs:64
    at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
    at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
    at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
    at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
    at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
    at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.RunChildren () [0x00035] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:154
    at NUnit.Framework.Internal.WorkItems.CompositeWorkItem.PerformWork () [0x000de] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/CompositeWorkItem.cs:93
    at NUnit.Framework.Internal.WorkItems.WorkItem.RunTest () [0x00071] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:196
    at NUnit.Framework.Internal.WorkItems.WorkItem.Execute (NUnit.Framework.Internal.TestExecutionContext) [0x00063] in /work/maccore/xcode9/xamarin-macios/external/mono/external/nunit-lite/NUnitLite-1.0.0/src/framework/Internal/WorkItems/WorkItem.cs:136
    at MonoTouch.NUnit.UI.BaseTouchRunner.Run (NUnit.Framework.Internal.Test) [0x0004d] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:442
    at MonoTouch.NUnit.UI.BaseTouchRunner.Run () [0x00030] in /work/maccore/xcode9/xamarin-macios/external/Touch.Unit/NUnitLite/TouchRunner/TouchRunner.cs:171
    at MonoTouch.Dialog.StringElement.Selected (MonoTouch.Dialog.DialogViewController,UIKit.UITableView,Foundation.NSIndexPath) [0x00008] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:765
    at MonoTouch.Dialog.DialogViewController.Selected (Foundation.NSIndexPath) [0x00026] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:577
    at MonoTouch.Dialog.DialogViewController/Source.RowSelected (UIKit.UITableView,Foundation.NSIndexPath) [0x00016] in /work/maccore/xcode9/xamarin-macios/external/MonoTouch.Dialog/MonoTouch.Dialog/DialogViewController.cs:402
    at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object_object (object,intptr,intptr,intptr) [0x0005d] in <32f0c196c5bc4aa18daea2ee64a7814e>:0
    at <unknown> <0xffffffff>
    at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) [0x0005c] in <ae65a2b1eea242d2b68fe784749543bf>:0
    at UIKit.UIApplication.Main (string[],intptr,intptr) [0x00005] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:79
    at UIKit.UIApplication.Main (string[],string,string) [0x00038] in /work/maccore/xcode9/xamarin-macios/src/UIKit/UIApplication.cs:63
    at monotouchtest.Application.Main (string[]) [0x00011] in /work/maccore/xcode9/xamarin-macios/tests/monotouch-test/Main.cs:27
    at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <30a7f7e09de9467b8b454221034a0e38>:0

    Native stacktrace:

    0   monotouchtest                       0x000000010fca03c4 mono_handle_native_crash + 244
    1   monotouchtest                       0x000000010fcadd30 mono_sigsegv_signal_handler + 288
    2   libsystem_platform.dylib            0x000000011feb3b3a _sigtramp + 26
    3   CoreFoundation                      0x000000011de035a2 computeSanitizedString + 146
    4   CoreText                            0x00000001168df314 _ZN15TPurgeableCache19RetainedValueForKeyEPKv + 54
    5   CoreText                            0x00000001168def85 _ZNK17TDescriptorSource22CopyDescriptorUncachedEPK7__CFURLbPK10__CFString + 55
    6   CoreText                            0x00000001168df34f _ZNK17TDescriptorSource14CopyDescriptorEPK7__CFURLbPK10__CFString + 27
    7   CoreText                            0x00000001168e20ad _ZNK17TDescriptorSource35CopyFontDescriptorPerPostScriptNameEPK10__CFStringmm + 297
    8   CoreText                            0x00000001168dfd9e _ZNK17TDescriptorSource30CopySystemFontDescriptorByNameEPK10__CFString10UIFontFlag + 54
    9   CoreText                            0x00000001168e54c4 _ZNK14TFontFallbacks17CopyFontFallbacksEPK10__CFStringS2_PK9__CFArray + 652
    10  CoreText                            0x00000001168e4a00 _ZNK14TFontFallbacks29CopyFontFallbacksForLanguagesEPK10__CFStringPK9__CFArray + 122
    11  CoreText                            0x00000001168e4971 _ZN17TDescriptorSource39CopyDefaultSubstitutionListForLanguagesEPK10__CFStringPK9__CFArray + 61
    12  CoreText                            0x00000001169397a7 _ZNK9TBaseFont28CreateSystemDefaultFallbacksEPK10__CFStringPK9__CFArray + 51
    13  CoreText                            0x000000011693999c _ZNK9TBaseFont15CreateFallbacksE10UIFontFlagPPK16__CFCharacterSetPK9__CFArray + 346
    14  CoreText                            0x00000001168c1036 _ZNK5TFont24CreateDefaultCascadeListEPK9__CFArray + 242
    15  CoreText                            0x00000001168b8ff9 CTFontCopyDefaultCascadeListForLanguages + 97
    16  ???                                 0x0000000140eaefd3 0x0 + 5384105939
    17  ???                                 0x0000000140eae761 0x0 + 5384103777
    18  ???                                 0x000000013c9c8e74 0x0 + 5311860340
    19  monotouchtest                       0x000000010fcb0c89 mono_jit_runtime_invoke + 1273
    20  monotouchtest                       0x000000010fd6e3a8 do_runtime_invoke + 88
    21  monotouchtest                       0x000000010fd71bac mono_runtime_try_invoke_array + 1292
    22  monotouchtest                       0x000000010fd15587 ves_icall_InternalInvoke + 647
    23  ???                                 0x000000013e9fcd13 0x0 + 5345627411
    24  ???                                 0x000000013e9fc738 0x0 + 5345625912
    25  ???                                 0x000000013e9fded5 0x0 + 5345631957
    26  ???                                 0x000000013e9fbb76 0x0 + 5345622902
    27  ???                                 0x000000013e9e237e 0x0 + 5345518462
    28  ???                                 0x000000013e9e237e 0x0 + 5345518462
    29  ???                                 0x000000013e9e237e 0x0 + 5345518462
    30  ???                                 0x000000013e9e237e 0x0 + 5345518462
    31  ???                                 0x000000013e873006 0x0 + 5344014342
    32  monotouchtest                       0x000000010fcb0c89 mono_jit_runtime_invoke + 1273
    33  monotouchtest                       0x000000010fd6e3a8 do_runtime_invoke + 88
    34  monotouchtest                       0x000000010fd6e320 mono_runtime_invoke + 208
    35  monotouchtest                       0x000000010fe71af1 xamarin_invoke_trampoline + 5617
    36  monotouchtest                       0x000000010fe79ddd xamarin_arch_trampoline + 189
    37  monotouchtest                       0x000000010fe7b1a1 xamarin_x86_64_common_trampoline + 110
    38  UIKit                               0x0000000111b9876b -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810
    39  UIKit                               0x0000000111b98986 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344
    40  UIKit                               0x0000000111a6b5c9 _runAfterCACommitDeferredBlocks + 318
    41  UIKit                               0x0000000111a59dad _cleanUpAfterCAFlushAndRunDeferredBlocks + 280
    42  UIKit                               0x0000000111a89f68 _afterCACommitHandler + 137
    43  CoreFoundation                      0x000000011de3ddb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    44  CoreFoundation                      0x000000011de3dd0e __CFRunLoopDoObservers + 430
    45  CoreFoundation                      0x000000011de22324 __CFRunLoopRun + 1572
    46  CoreFoundation                      0x000000011de21a89 CFRunLoopRunSpecific + 409
    47  GraphicsServices                    0x0000000121b7e9c6 GSEventRunModal + 62
    48  UIKit                               0x0000000111a5f7d0 UIApplicationMain + 159
    49  ???                                 0x000000013c9c4474 0x0 + 5311841396
    50  ???                                 0x000000013c9c40ad 0x0 + 5311840429
    =================================================================
    Got a SIGSEGV while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================

* [monotouch-test] Don't subclass MKMapView. (#2556)

MKMapView doesn't like being subclassed (Apple says "you should not subclass the MKMapView class itself").

Bad things like this starts happening:

    Thread 0 name:  tid_303  Dispatch queue: com.apple.main-thread
    Thread 0 Crashed:
    0   libsystem_kernel.dylib        	0x0000000186b25348 __pthread_kill + 8
    1   libsystem_pthread.dylib       	0x0000000186c39354 pthread_kill$VARIANT$mp + 396
    2   libsystem_c.dylib             	0x0000000186a94fd8 abort + 140
    3   monotouchtest                 	0x0000000101c02c14 mono_handle_native_crash + 22047764 (mini-exceptions.c:2548)
    4   monotouchtest                 	0x0000000101c0d02c mono_sigsegv_signal_handler + 22089772 (mini-runtime.c:2886)
    5   libsystem_platform.dylib      	0x0000000186c33b60 _sigtramp + 52
    6   CoreFoundation                	0x0000000186f93108 cow_cleanup + 112
    7   CoreFoundation                	0x0000000186f93108 cow_cleanup + 112
    8   CoreFoundation                	0x0000000186eda51c -[__NSArrayM dealloc] + 68
    9   CoreFoundation                	0x000000018703f5c8 __CFBasicHashDrain + 312
    10  CoreFoundation                	0x0000000186fb5b44 _CFRelease + 224
    11  CoreText                      	0x000000018a808404 TDescriptorSource::PurgeFontFallbacksCache+ 488452 () + 92
    12  CoreText                      	0x000000018a808374 TDescriptorSource::PurgeFromCaches+ 488308 (__CFURL const*) const + 176
    13  CoreText                      	0x000000018a7eec74 CTFontRemoveFromCaches + 168
    14  VectorKit                     	0x0000000196a539b0 +[VKSharedResourcesManager removeResourceUser:] + 324
    15  VectorKit                     	0x0000000196ca27a4 md::MapEngine::~MapEngine+ 2643876 () + 360
    16  VectorKit                     	0x0000000196ca2634 md::MapEngine::~MapEngine+ 2643508 () + 12
    17  libobjc.A.dylib               	0x000000018651eef4 object_cxxDestructFromClass+ 28404 (objc_object*, objc_class*) + 148
    18  libobjc.A.dylib               	0x000000018652c638 objc_destructInstance + 88
    19  libobjc.A.dylib               	0x000000018652c690 object_dispose + 16
    20  QuartzCore                    	0x000000018afca3ac -[CALayer dealloc] + 116
    21  VectorKit                     	0x0000000196a43294 -[VKMapView dealloc] + 940
    22  QuartzCore                    	0x000000018af6aafc CA::release_objects+ 744188 (X::List<void const*>*) + 32
    23  QuartzCore                    	0x000000018afd97d8 CA::Layer::~Layer+ 1198040 () + 276
    24  QuartzCore                    	0x000000018afca37c -[CALayer dealloc] + 68
    25  QuartzCore                    	0x000000018af6b16c CA::Transaction::commit+ 745836 () + 1052
    26  UIKit                         	0x0000000190393290 _afterCACommitHandler + 256
    27  CoreFoundation                	0x0000000186fb38b8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
    28  CoreFoundation                	0x0000000186fb1270 __CFRunLoopDoObservers + 412
    29  CoreFoundation                	0x0000000186fb182c __CFRunLoopRun + 1292
    30  CoreFoundation                	0x0000000186ed22d8 CFRunLoopRunSpecific + 436
    31  GraphicsServices              	0x0000000188d58f84 GSEventRunModal + 100
    32  UIKit                         	0x000000019040427c UIApplicationMain + 208
    33  monotouchtest                 	0x000000010106eb90 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 9907088 (/<unknown>:1)
    34  monotouchtest                 	0x0000000100f0d6ac UIKit_UIApplication_Main_string___intptr_intptr + 8459948 (UIApplication.cs:79)
    35  monotouchtest                 	0x0000000100f0d66c UIKit_UIApplication_Main_string___string_string + 8459884 (UIApplication.cs:63)
    36  monotouchtest                 	0x0000000100b10450 monotouchtest_Application_Main_string__ + 4277328 (Main.cs:27)
    37  monotouchtest                 	0x0000000100e0c244 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 244
    38  monotouchtest                 	0x0000000101c10048 mono_jit_runtime_invoke + 22102088 (mini-runtime.c:2526)
    39  monotouchtest                 	0x0000000101c75eec do_runtime_invoke + 22519532 (object.c:2829)
    40  monotouchtest                 	0x0000000101c78a3c do_exec_main_checked + 22530620 (object.c:4623)
    41  monotouchtest                 	0x0000000101bf9a1c mono_jit_exec + 22010396 (driver.g.c:1040)
    42  monotouchtest                 	0x0000000101d13d60 xamarin_main + 23166304 (monotouch-main.m:482)
    43  monotouchtest                 	0x00000001007de710 main + 927504 (main.m:67)
    44  libdyld.dylib                 	0x00000001869f656c start + 4

* [introspection] Let SkipDueToAttributeInProperty skip setters too (#2557)

`SkipDueToAttributeInProperty` which is used to check the availability attribute of properties
when the Availability info only exist on the property and not on the property Getter or Setter was wrong.
This lead to `setSpringLoaded` (which was introduced in iOS 11) to not be ignored by the test (making it fail).

- Fix bug #59085: [introspection-ios] selector not found for UIKit.UIBarButtonItem : setSpringLoaded: - Broken test
(https://bugzilla.xamarin.com/show_bug.cgi?id=59085)

* [corevideo][watchos] Enable CoreVideo on watchOS (#2553)

* [storekit] Fix CampaignToken typo (#2559) (#2560)

- Fixes bug #59078: StoreProductParameters and invalid property for CampaignToken
(https://bugzilla.xamarin.com/show_bug.cgi?id=59078)

* [coreml][watchos] Enable API using CoreVideo on watchOS. Fix #58097 (#2561)

https://bugzilla.xamarin.com/show_bug.cgi?id=58097

* Add missing [MarshalDirective] attributes. (#2558)

* [bindings-generator] Improve build & project file.

* Add missing [MarshalDirective] attributes.

Add missing [MarshalDirective] attributes, which also requires implementing
support for out parameters in the binding generator, since one of the
signatures missing the [MarshalDirective] contains such an out parameter.

Also add tests for all the API I've added [MarshalDirective] to.

* [bindings-generator] Remove redundant if check.

* [monotouch-test] Rename file to end with 'Test.cs'.

* [tests] Fix a few build errors for Xamarin.Mac.

* [uikit] Fix UIColor and UIInputViewController tvOS availability (#2569)

- Fixes introspection tests on tvOS 10.

* [storekit] Fix SKCloudServiceSetupMessageIdentifier and SKProductStorePromotionController tvOS availability (#2568)

- Fixes introspection tests on tvOS 10.

* [mapkit] Fix MKMapItemTypeIdentifier tvOS availability (#2566)

- Also remove double [Mac] availability attribute.
- Fixes introspection tests on tvOS 10.

* [ARKit] Fix marshalling for ARPointCloud.RawFeaturePoints. (#2565)

ARPointCloud.RawFeaturePoints is an array of Vector3, but each vector is
16-byte aligned (as if it were an array of Vector4).

This means we need to account for this when creating a managed array from
pointer to the native C-style array.

* [ModelIO] Fix MDLVoxelIndexExtent struct. (#2564)

The MDLVoxelIndexExtent is a struct containing two 4-dimensional vectors of
integers (not floats, as originally and incorrectly implemented).

Fix this my creating a new MDLVoxelIndexExtent2 struct with the right fields,
re-implement all the API that exposes this struct and obsolete the old API.

Also add missing [MarshalDirective] attributes.

And write a test to make sure it works fine now and forever.

* [coredata] Enable new fields since rdar #33878590 is fixed w/beta 6 (#2570)

reference:
https://trello.com/c/dlSRYPFx

* [xtro-sharpie] Add a Simd check class to verify signatures with Simd types.

* [Simd] Add simd matrix types.

The OpenTK matrices (Matrix2/3/4) has a different memory layout than Apple's
matrix_float2x2/matrix_float3x3/matrix_float4x4 matrices: the OpenTK versions
are row-major, while Apple's versions are column-major.

This means that when blitting memory from one to the other, the matrix will
appear to have been transposed.

See bug #[58599][2] for an example.

Unfortunately we've already bound several API with Apple's matrix_floatXxX
matrices using OpenTK's matrices, and although they're bound wrong, and the
matrices appear transposed on input/output, we can't change the behavior
because we have to maintain compatibility.

This means we have to introduce new API, and then also just define new matrix
types with the right memory layout (column-major). Additionally, in the future
we might be able to mark these matrices as Simd-matrixes, so that the JIT/AOT
compiler can generate the correct alignment for them, avoiding having to
define a native conversion method (using the [MarshalDirective] hack).

The matrices have been designed to match API-wise the matrices in the
System.Numerics.Vectors namespace [1], but for the moment with only a few
basic operations implemented (Determinant/Transpose/Multiply) defined (we can
always add more later if we want to).

In addition explicit conversion operators to and from the corresponding
OpenTK.MatrixX are implemented, which means any operation defined in the
OpenTK matrices can be used by converting back and forth.

[1]: https://msdn.microsoft.com/en-us/library/system.numerics.matrix4x4(v=vs.111).aspx
[2]: https://bugzilla.xamarin.com/show_bug.cgi?id=58599

* [ARKit] Use the new Simd matrix types.

* [Vision] Use the new Simd matrix types.

* [ModelIO] Use the new Simd-compatible matrix types, and deprecate the old API.

* [GameplayKit] Use the new Simd-compatible matrix types, and deprecate the old API.

* [SpriteKit] Use the new Simd-compatible matrix types, and deprecate the old API.

* [xtro] Don't report missing [MarshalDirective] for obsolete methods.

* [xtro] Remove unnecessary ignores.

The implementation changed, and these stayed accidentally.

* [wkwebkit] Fix (native) protocol names (#2572)

Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961

reference (xtro)
!missing-protocol! WKURLSchemeHandler not bound
!missing-protocol! WKURLSchemeTask not bound
!unknown-protocol! WKUrlSchemeHandler bound
!unknown-protocol! WKUrlSchemeTask bound

!unknown-type! WKSnapshotConfiguration bound

* [uikit] Fix enums availability attributes (#2575)

- Fixes bug #59132: [uikit] Extra types in watchOS
(https://bugzilla.xamarin.com/show_bug.cgi?id=59132)

* [watchkit] Add missing designated initializers (#2574)

references (xtro)
!missing-designated-initializer! WKInterfaceController::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! WKUserNotificationInterfaceController::init is missing an [DesignatedInitializer] attribute

* [xtro] Reword some of the Simd diagnostic messages according to review.

* [tests] Make sure test symbols don't clash between different test libraries.

Fixes this build problem for framework-test:

	clang: error: linker command failed with exit code 1 (use -v to see invocation)
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_get_rotation_matrix'.
	MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticObjectTest.framework/XStaticObjectTest (Location related to previous error)
	MTOUCH: error MT5213: Duplicate symbol in: /Users/builder/jenkins/workspace/xamarin-macios-pr-builder/tests/framework-test/obj/iPhoneSimulator/Debug-unified/mtouch-cache/XStaticArTest.framework/XStaticArTest(libtest-ar.x86_64.o) (Location related to previous error)
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransformcomponent_get_local_transform'.
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_mdltransform_create_global_transform'.
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float4x4'.
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float3x3'.
	MTOUCH: error MT5212: Native linking failed, duplicate symbol: '_x_get_matrix_float2x2'.
	MTOUCH: error MT5209: Native linking error: 6 duplicate symbols for architecture x86_64
	MTOUCH: error MT5202: Native linking failed. Please review the build log.

* [tests] Since libtest.a need ModelIO now, the corresponding LinkWith attributes need to state that too.

* [introspection] Don't check native signatures on obsolete members, and ignore the right simd matrix types.

Fixes this introspection/Mac problem:

    ***** ApiSignatureTest.NativeSignatures
    Selector: uniformWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
    Selector: uniformWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
    Selector: uniformWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded
    Selector: setMatrixFloat2x2Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
    Selector: setMatrixFloat3x3Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
    Selector: setMatrixFloat4x4Value: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded
    Selector: initWithName:matrixFloat2x2: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat2x2, nothing encoded
    Selector: initWithName:matrixFloat3x3: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat3x3, nothing encoded
    Selector: initWithName:matrixFloat4x4: on type SpriteKit.SKUniform, Type: Simd.MatrixFloat4x4, nothing encoded

* [monotouch-tests] Include more custom asserts for watchOS to make the build work.

Fixes this:

    Simd/MatrixFloat4x4Test.cs(28,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
    Simd/MatrixFloat4x4Test.cs(29,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
    Simd/MatrixFloat4x4Test.cs(37,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
    Simd/MatrixFloat4x4Test.cs(48,12): error CS0117: 'Asserts' does not contain a definition for 'AreEqual'
    [...]

* [monotouch-test] Exclude code that requires the binding project from xammac tests.

Exclude code that requires the test binding project from xammac tests because
there's currently no XM version of the test binding project.

Fixes this:

    tests/monotouch-test/SpriteKit/UniformTest.cs(20,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)
    tests/monotouch-test/ModelIO/MDLMaterialProperty.cs(37,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)
    tests/monotouch-test/ModelIO/MDLTransform.cs(34,7): error CS0246: The type or namespace name 'Bindings' could not be found (are you missing a using directive or an assembly reference?)

* Bump version for preview #8 (#2576)

* [spritekit] Audit fixes (xtro) (#2577)

1.	SKVideoNode is now, partially, available on watchOS and does
	not require the extra, manual code to swicth selectors depending
	on the OS version being run.

!missing-type! SKVideoNode not bound
!missing-selector! SKVideoNode::anchorPoint not bound
!missing-selector! SKVideoNode::initWithCoder: not bound
!missing-selector! SKVideoNode::initWithFileNamed: not bound
!missing-selector! SKVideoNode::initWithURL: not bound
!missing-selector! SKVideoNode::setAnchorPoint: not bound
!missing-selector! SKVideoNode::setSize: not bound
!missing-selector! SKVideoNode::size not bound
!missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound
!missing-selector! +SKVideoNode::videoNodeWithURL: not bound

2.	SKNodeFocusBehavior is exposed needlessly on watchOS because
	SpriteKit/Enums.cs was not processed by the generator, so [NoWatch]
	did not matter.

!unknown-native-enum! SKNodeFocusBehavior bound

	It's also visible on macOS but nothing uses it (so we do not expose
	it needlessly)

!missing-enum! SKNodeFocusBehavior not bound

3.	Add missing designated initializer on default `init`

!missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute

4.	Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0

The trio attributeValues, setAttributeValues and setValue:forAttributeNamed:
that was moved from SKNode (deprecated) into its subclasses. This was done
using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to
be consistent (only SKNode versions are not defined in XAMCORE_4_0)

!missing-selector! SKEffectNode::attributeValues not bound
!missing-selector! SKEffectNode::setAttributeValues: not bound
!missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEffectNode::valueForAttributeNamed: not bound
!missing-selector! SKEmitterNode::attributeValues not bound
!missing-selector! SKEmitterNode::setAttributeValues: not bound
!missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEmitterNode::valueForAttributeNamed: not bound
!missing-selector! SKSpriteNode::attributeValues not bound
!missing-selector! SKSpriteNode::setAttributeValues: not bound
!missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound
!missing-selector! SKSpriteNode::valueForAttributeNamed: not bound

* [introspection] Make sure '[FAIL]' is printed before every failure. (#2578)

This makes xharness able to list the failures in the inline summary.

* [xtro] Reword some of the Simd diagnostic messages according to review.

* [xharness] Add a missing IsServerMode check to generate correct html. (#2581)

* [SpriteKit] SKTransformNode is new in Xcode 9 so no need to keep the broken (and obsolete) non-simd version of RotationMatrix.

* [intents] Fix some (partial) xtro issues and #59156 (#2585)

reference
https://bugzilla.xamarin.com/show_bug.cgi?id=59156

Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183

!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound

* [Intents] Confirm* interface methods should be bound as Confirm, Fixes Bug 59164 (#2591)

* [Intents] Confirm* interface methods should probably be bound as Confirm, Fixes Bug 59164

https://bugzilla.xamarin.com/show_bug.cgi?id=59164

All Confirm* methods from *IntentHandling interfaces should be named
just `Confirm` to avoid confusion because most of them do not directly
confirm as an acion, but instead they **ask** for confirmation also we
would follow swift's naming by doing this.

* [Intents] XAMCORE_4_0 all Confirm* methods from *IntentHandling

Turns any Confirm* into just Confirm inside a XAMCORE_4_0 block,

* [Intents] Fix breaking changes in Intents added in Xcode 9 Bindings (#2590)

Apple added more protocol conformances to INRidesharingDomainHandling and
INPaymentsDomainHandling protocols in Xcode 9, I introduced these breaking
changes back when I did intents binding so fixing them :)

* [Metal] New bindings from Xcode 9 betas (#2457)

* [AVFoundation] Updated bindings for xcode9. (#2272)

* [Xcode9] Add IOSurface bindings (#2363)

* This framework was a private framework before iOS 11.

This framework was a private framework before iOS 11, yet the headers claim
many API were introduced in iOS 10.

So take account of this difference by using the private framework location in
iOS 10.3 or earlier.

Testing these API from Xcode works fine when run on an iOS 10.3 device, and
I've confirmed the IOSurface framework is loaded from the private frameworks
path on older devices (and when built using Xcode 9 and linked with the public
framework path).

* Disable code to make IOSurface work on iOS 10.

Disable the code to make IOSurface work on iOS 10, since it may be rejected by
the App Store.

This also means adjusting the availability attributes, so that the
introspection tests pass (and to document that technically these API won't
work when used with Xamarin.iOS in iOS 10).

I've filed bug #[59201][1] to keep track of this, maybe we can re-enable this later.

[1]: https://bugzilla.xamarin.com/show_bug.cgi?id=59201

* [CoreMedia] Fix leak in CMAttachmentBearer.GetAttachments. (#2593)

The caller owns the return value from CMCopyDictionaryOfAttachments, so tell
Runtime.GetNSObject that.

* [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596)

https://bugzilla.xamarin.com/show_bug.cgi?id=59183

Fixes

!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract

* [xtro] Fix StartWorkingDirectory to enable debugging (#2598)

* [iosurface] Enable for tvOS and XM classic (to avoid multiple defines around consumer API) (#2597)

* [xtro] Fix EnumCheck (#2600)

* [ARKit] Rename a few method to make them nicer. (#2604)

* DisplayTransform -> GetDisplayTransform since methods should have verbs.

* SessionWasInterrupted -> WasInterrupted and SessionInterruptionEnded ->
  InterruptionEnded since these names match better with the other names
  (CameraDidChangeTrackingState / DidFail / DidOutputAudioSampleBuffer: none
  are prefixed with 'Session'). Additionally, the type is a Model (for the
  delegate pattern), which means all methods are more-or-less event-like, and
  the first argument is always the same (the protocol itself), which is
  another indicator the methods should be named similarly.

* [Foundation] Remove 'Key' suffix from some fields. (#2606)

Of the 168 fields in NSMetadataItem, only these 5 hadn't removed the 'Key'
suffix.

So make them all equivalent by removing the 'Key' suffix from these 5 fields.

* [ImageIO] Fix API to not duplicate the instance in instance methods. (#2609)

An instance method does not need to take the instance as a parameter, so
remove the first (instance) parameter for
CGImageDestination.AddAuxiliaryDataInfo and
CGImageSource.CopyAuxiliaryDataInfo.

An alternative solution would be to make the methods static, but I like the
instance API better.

* [UIKit] De-model UIDataSourceTranslating. (#2603)

It's not clear from neither the documentation nor the headers how this
protocol is supposed to be used, and since it doesn't correspond to the
delegate pattern, remove the [Model] attribute for now.

We can always add it back later.

* [CoreML] Improve API. (#2592)

* [CoreML] Improve API.

* The indices, shape and stride properties for MLMultiArray and
  MLMultiArrayConstraint can logically only be arrays of integers, so type
  them as such. This means adding overloads for MLMultiArray's constructors,
  GetObject and SetObject methods, and the indexers that takes nint[] arrays
  instead of NSNumber[] arrays.

* Change MLFeatureValue's static factory methods to be a method ('Create')
  instead of a preposition, and call all the different factory methods the
  same, since they can be overloaded nicely.

* [tests][monotouch-test] Add version check to MLMultiArrayTest and make sure the arrays we create are big enough for the data we put in them.

* [tests][monotouch-test] MLMultiArray's elements aren't zero-initialized, so don't assume that in the tests.

* Support overloading Objective-C methods based on static/instance. (#2607)

Two Objective-C methods can be named identically as long as one is static and
the other instance.

We must support this since Apple did just this (in the NSItemProviderReading /
NSItemProviderWriting protocols).

We solve it by prepending a '+' or '-' to the selector when hashing it (to
determine selector uniqueness, and to look the method up again at runtime).

* [uikit] Update for Xcode 9 - Part 6 (#2602)

NSAttributedString.h
NSFileProviderExtension.h
NSLayoutAnchor.h
UIAccessibility.h
UIAccessibilityAdditions.h
UIAccessibilityContainer.h
UIAccessibilityContentSizeCategoryImageAdjusting.h
UIAccessibilityCustomRotor.h
UIAccessibilityLocationDescriptor.h
UITabBar.h
UINavigationBar.h
UIScreen.h

* Xcode9 scenekit (#2512)

* [SceneKit] basic work

* Added key

* [xcode9] SCNCameraController

* [xcode9] SCNCamera updates

* [xcode9] SCNMaterial

* [xcode9] SCNGeometryTessellator, SCNCameraControlConfiguration, SCNView, small bits

* Add trailing commas to last enum value

* Remove whitespace noise

* [scenekit] Update deprecated attributes messages

* Addresses some of Rolf's feedback

* Drop the WeakDelegate in SCNCameraController

* Rename method to Render, remove ctor from class that can not be constructed in Palygrounds, add typo exception

* [AppKit] Rename NSBezierPath.AppendBezierPathWithCGGlyph to match its sibling methods. (#2605)

NSBezierPath contains a lot of 'AppendPathWithXXX' methods, that all map to
'appendBezierPathXXX' selectors.

So rename AppendBezierPathWithCGGlyph accordingly, to make it more similar to
the other methods in the same type.

* [uikit] Add all UISpringLoadedInteractionSupporting (#2616)

Types do not conform to the protocol but protocol methods work on those types (see monotouch-test).
Fixed introspection tests accordingly and tested the selectors in monotouch-test.

* [Intents] Add convenience ctor overload and call correct base ctor in manual ctor. (#2613)

Add a convenience constructor overload in
INGetUserCurrentRestaurantReservationBookingsIntent that uses nint instead of
NSNumber, since logically "number of results" will always be some sort of
integer.

Also call the correct base constructor in INSpeakableString's custom
constructor (same as any other generated constructor). Otherwise we end up
doing something like this: [[[INSpeakableString alloc] init] initWith ...],
i.e. calling two different init methods.

* [coreimage] Add new headers API up to beta 6 (#2601)

Filters are not complete (ref: #57350)
https://bugzilla.xamarin.com/show_bug.cgi?id=57350

* Some new constants are not yet documented (type is known), so they
  are commented / ignored
  https://bugzilla.xamarin.com/show_bug.cgi?id=59296

* Filled bug for [Wrap] inside [Category] so strong dictionary helpers
  can be re-enabled later
  https://bugzilla.xamarin.com/show_bug.cgi?id=59294

* [foundation] xtro fixes for watchOS (#2586)

!missing-enum! NSProcessInfoThermalState not bound
!missing-field! NSProcessInfoThermalStateDidChangeNotification not bound
!missing-selector! NSProcessInfo::thermalState not bound

Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS

!missing-selector! NSItemProvider::preferredPresentationStyle not bound
!missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound

* [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used

* [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance. (#2614)

* [Foundation] Improve NSItemProviderReading & NSItemProviderWriting protocols/compliance.

* NSItemProviderWriting:
* NSItemProviderReading: Implement correctly and completely by uncommenting
  commented out code.

* NSMutableString:
* NSAttributedString: remove inlined members, since these classes don't
  implement NSItemProviderReading / NSItemProviderWriting (according to the
  headers at least).

* NSUrl: all platforms now seem to implement NSItemProviderReading /
  NSItemProviderWriting.

* NSString: all platforms now seem to implement both NSItemProviderReading and NSItemProviderWriting

* UIColor:
* UIImage: Update inlined protocol members according to the latest beta.

Additionally, due to the following conditions:

* The protocols all have the correct members now.
* In the API definition we tell the generator to inline members from a
  protocol by inheriting from the corresponding interface.
* The generator doesn't inline static members from protocols.

several 'new' keywords had to be added to silence a compiler warning that
occurrs when we manually inline a static member, since the member would be
included in the type both from the inherited interface and the manual
implementation.

* [Foundation] Comment out NSItemProviderWriting.GetItemProviderVisibility to avoid inlining/generating unusable methods.

NSItemProviderWriting.GetItemProviderVisibility is an optional method, and
none of the native classes that implements NSItemProviderWriting actually
imlements the method. This means inlining the method in those classes ends up
creating unusable API; so just comment out the method to avoid generating the
unusable API.

The introspection tests found this:

    [FAIL] Foundation.NSString : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] Foundation.NSUrl : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] Contacts.CNContact : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] MapKit.MKMapItem : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] UIKit.UIColor : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] UIKit.UIImage : itemProviderVisibilityForRepresentationWithTypeIdentifier:
    [FAIL] iOSApiSelectorTest.ApiSelectorTest.StaticMethods : 6 errors found in 2348 static selector validated:

See also https://bugzilla.xamarin.com/show_bug.cgi?id=59308

* [iosurface] Add missing [TV] attributes (#2619)

* [opengles] Enable the new API using IOSurface (#2618)

The symbol only exists inside device libraries, not on simulator,
and the introspection tests were updated to ignore it.

Part of https://bugzilla.xamarin.com/show_bug.cgi?id=58054

* [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617)

1. AudioBufferList is part of CoreAudio (wrong namespace, which needs
   a few changes in the generator) and now available in watchOS 4
   https://bugzilla.xamarin.com/show_bug.cgi?id=59145

2. Also fixes xtro found issues:

!missing-type! AVAudioRecorder not bound
!missing-selector! AVAudioRecorder::averagePowerForChannel: not bound
!missing-selector! AVAudioRecorder::channelAssignments not bound
!missing-selector! AVAudioRecorder::currentTime not bound
!missing-selector! AVAudioRecorder::delegate not bound
!missing-selector! AVAudioRecorder::deviceCurrentTime not bound
!missing-selector! AVAudioRecorder::format not bound
!missing-selector! AVAudioRecorder::initWithURL:format:error: not bound
!missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound
!missing-selector! AVAudioRecorder::isMeteringEnabled not bound
!missing-selector! AVAudioRecorder::isRecording not bound
!missing-selector! AVAudioRecorder::peakPowerForChannel: not bound
!missing-selector! AVAudioRecorder::recordAtTime: not bound
!missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound
!missing-selector! AVAudioRecorder::recordForDuration: not bound
!missing-selector! AVAudioRecorder::setChannelAssignments: not bound
!missing-selector! AVAudioRecorder::setDelegate: not bound
!missing-selector! AVAudioRecorder::setMeteringEnabled: not bound
!missing-selector! AVAudioRecorder::settings not bound
!missing-selector! AVAudioRecorder::url not bound

!missing-protocol! AVAudioRecorderDelegate not bound

!missing-selector! AVAudioEngine::inputNode not bound
!missing-selector! AVAudioEngine::manualRenderingBlock not bound
!missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound
!missing-selector! AVAudioPlayer::format not bound
!missing-selector! AVAudioSession::requestRecordPermission: not bound

!unknown-field! AVFileType3GPP bound
!unknown-field! AVFileType3GPP2 bound
!unknown-field! AVFileTypeAC3 bound
!unknown-field! AVFileTypeAIFC bound
!unknown-field! AVFileTypeAIFF bound
!unknown-field! AVFileTypeAMR bound
!unknown-field! AVFileTypeAVCI bound
!unknown-field! AVFileTypeAppleM4A bound
!unknown-field! AVFileTypeAppleM4V bound
!unknown-field! AVFileTypeCoreAudioFormat bound
!unknown-field! AVFileTypeDNG bound
!unknown-field! AVFileTypeEnhancedAC3 bound
!unknown-field! AVFileTypeHEIC bound
!unknown-field! AVFileTypeHEIF bound
!unknown-field! AVFileTypeJPEG bound
!unknown-field! AVFileTypeMPEG4 bound
!unknown-field! AVFileTypeMPEGLayer3 bound
!unknown-field! AVFileTypeQuickTimeMovie bound
!unknown-field! AVFileTypeSunAU bound
!unknown-field! AVFileTypeTIFF bound
!unknown-field! AVFileTypeWAVE bound

* [Metal] Implement API using IOSurface now that IOSurface is implemented. Partially fixes #58054. (#2621)

https://bugzilla.xamarin.com/show_bug.cgi?id=58054

* [PdfKit] Improve PdfAnnotation.QuadrilateralPoints binding by making it strongly typed. (#2620)

* Implement Simd vector types (VectorFloat2/3/4/VectorInt4). (#2622)

* Implement Simd vector types (VectorFloat2/3/4/VectorInt4).

* [ARKit/Vision] Use the new simd vector types instead of the OpenTK versions.

* [ModelIO] Use the new simd vectors in new API (MDLVoxelIndexExtent2).

This way we won't have to create a MDLVoxelIndexExtent3 in the future.

* [SpriteKit] Use the new simd vectors in new API.

* [metal] Audit (xtro) based fixes (#2623)

!extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found
!extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found

macos-only

!missing-field! MTLDeviceRemovalRequestedNotification not bound
!missing-field! MTLDeviceWasAddedNotification not bound
!missing-field! MTLDeviceWasRemovedNotification not bound

!missing-pinvoke! MTLCopyAllDevices is not bound

* [CloudKit] Update bindings to beta 6. (#2615)

* [FileProvider] Turn NSFileProviderItemIdentifier enum into a static class, fixes bug 59329 (#2634)

https://bugzilla.xamarin.com/show_bug.cgi?id=59329

At the time of binding NSFileProviderItemIdentifier it wasn't clear
how it was supposed to be used, I mean apple provides two keys which
I thought were the only possible values hence binding it as an smart
enum. Unfortunately this wasn't the case and the user can use those
two values provided from the SDK or their own NSString Identifier.

Swift provides a wrapper unfortunately we can't do the same due to
NSFileProviderItemIdentifier is used in the NSFileProviderItem protocol
and we currently do not support changing signatures on them.

* [mtouch] Teach mtouch about the 'IOSurface' framework for tvOS. Fixes #59333. (#2630)

https://bugzilla.xamarin.com/show_bug.cgi?id=59333

* Bump Touch.Unit to get fix for API breakage. (#2631)

spouliot/Touch.Unit@8f1e19d [NUnitOutputTextWriter] Reintroduce previous constructor to make sure we don't break binary ABI.
spouliot/Touch.Unit@00b0c0b [NUnitOutputTextWriter] Don't write invalid xml comments.
spouliot/Touch.Unit@de9fe20 [TouchRunner] Restore the original code path when not wrapping NUnit xml output.

* [IOSurface] Add missing availability attributes for tvOS. (#2629)

* Bump versions for preview 9 (#2624)

* [AVFoundation] Add missing interface AVRouteDetector. (#2637)

* [tests] Update xtro to reduce list sizes (#2636)

* Skip OpenTK duplicate declaration (we can't change them);
* Fix rule name change for ARKit / simd;
* Add missing default initializer on `init` to pending actions;
* Add note for AVPersistableContentKeyRequest changes wrt tvOS;

* [ReplayKit] Make RPBroadcastActivityViewController.LoadBroadcastActivityViewController async-capable. (#2639)

* [xcode9] More SceneKit bindings (#2633)

* [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380 (#2644)

* [GameplayKit] Incorrect GKPath.FromPoints (Vector3[], float, cyclical) implementation, Fixes bug 59380

https://bugzilla.xamarin.com/show_bug.cgi?id=59380

vector_float3 is 16 bytes, which means the binding is incorrect,
because Vector3 is 12 bytes, and our code does not that difference into account.

* Add tests

* [DeviceCheck] Disable default ctor for DCDevice. (#2642)

It doesn't seem to be useful according to the documentation, since it appears
that the only way to get an instance is to use the static CurrentDevice
property.

* [audiounit] Audit (xtro) fixes for tvOS (#2635)

Availability attributes in non-generated files don't hide symbols/code.

reference:
!unknown-pinvoke! AudioUnitExtensionCopyComponentList bound
!unknown-pinvoke! AudioUnitExtensionSetComponentList bound

* [tests] Make sure tvOS tests don't use the (unexisting) API

* [tests] Add all test project variations to tests-mac.sln (#2579)

* [xharness] Make sure generated mac projects have different project guids.

* [introspection] Change the project guid so that it doesn't match the dontlink-mac project guid.

* [tests] Add all test project variations to tests-mac.sln.

* [xharness] Fix else condition.

* [FileProvider] Adds missing NSFileProviderPage constants, fixes bug 59297. (#2646)

https://bugzilla.xamarin.com/show_bug.cgi?id=59297

Adds NSFileProviderInitialPageSortedByName and NSFileProviderInitialPageSortedByDate
NSData constants

* [Xcode9] Remove NSFileProviderMessage and NSFileProviderMessageInterface (#2647)

APIs were removed in beta 2

* [Foundation/UIKit] Provide LoadObject[s] methods that return the expected type in the callback. Fixes #59049. (#2638)

The callback for these LoadObject[s] methods take an INSItemProviderReading
parameter. This tells our runtime that we must provide an instance of a
managed object that implements this interface (but nothing else), so we create
a `NSItemProviderReadingWrapper` instance, which complies with the API (since
the wrapper type implements the corresponding interface).

Unfortunately these methods are supposed to return an instance of the passed-
in type, so in order to comply with this soft (documentation-only)
requirement, provide a wrapper method that creates instances of the right
types.

https://bugzilla.xamarin.com/show_bug.cgi?id=59049

* [arkit] Ignore deprecated selectors (#2645)

* [FileProvider] Adds missing protocol and keys from audit (#2652)

```
!missing-protocol! NSFileProviderServiceSource not bound
!missing-field! NSFileProviderErrorCollidingItemKey not bound
!missing-field! NSFileProviderErrorNonExistentItemIdentifierKey not bound
!missing-field! NSFileProviderFavoriteRankUnranked not bound
```

Also adds `NSXpcListenerEndpoint` to foundation, needed by `NSFileProviderServiceSource` protocol.

* [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654)

* [AVFoundation] Rename field to match others. (#2657)

* [homekit] Audit (xtro) fixes (#2653)


- HMCharacteristicEvent conforms to NSMutableCopying on iOS11
  which makes it 64 bits only (so adjust intro tests)

- Ignore extra setters on HMMutablePresenceEvent, rdar 33883958

!missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound
!missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound

* [xtro] Add missing pinvoke to pending (#2662)

- Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory
(https://bugzilla.xamarin.com/show_bug.cgi?id=59422)

* Merge latest d15-3 fixes into xcode9 (#2660)

* [msbuild] Re-added wildcard (*) expandsion for application-identifier in Entitlements.plist (#2186)

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=57119

* Bump mono (#2213)

* Framework tests were still binding non-linked Simple class which errors now (#2216) (#2218)

- Improve Makefile to rebuild when projects build with errors

* Bump mono to get cecil fix for bug #56808. (#2222)

https://bugzilla.xamarin.com/show_bug.cgi?id=56808

* [msbuild] Use @(ReferencePath) instead of @(ResolvedFiles) (#2188) (#2214)

This allows things to work on both xbuild and msbuild.

In xbuild, both lists are exactly the same and on msbuild,
only @(ReferencePath) exists.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55147

* NSActivityOptions.IdleDisplaySleepDisabled had wrong value (#2232) (#2239)

This was due to an integer overflow.  The original value was based on Int32
1 << 40 == 256

The correct value should be based on a UInt64.
1UL << 40 == 1099511627776

* [tests] Fix bug 57699 - [iOS]InternalsTest failure (Linkall) tests on device (#2243)

Strip native debugging symbols should not be checked for debug builds

* Bump mono to get fix for bug #57780.

https://bugzilla.xamarin.com/show_bug.cgi?id=57780

* Update .gitmodules

Change branch to d15-3 branch of mono

* Bump maccore to get fix for bug #55064.

https://bugzilla.xamarin.com/show_bug.cgi?id=55064

* [mono] Bump mono to get the head of cecil/mono-2017-04 and fix IsComObject #57919

Also fix #58789 [1], the typo in tools/mtouch/Tuning.cs showing in MT0000 errors
instead MT2102. That's already in master and d15-4

mono bump includes:

[2] commit 2a6502cee0df9de5198eafe7c8b5f6ac25106f34 (HEAD -> d15-3, origin/d15-3)
Merge: 02457c20fcf 5e05cafc6f1
Author: Luis Aguilera <luis.aguilera@xamarin.com>
Date:   Fri Aug 18 10:04:06 2017 -0400

    Merge pull request #5401 from marek-safar/com

    [Marshal.IsComObject] Make this predicate return false instead of thr…

[3] commit 02457c20fcf57c0610e844d638eb1da82b5d1eb0
Merge: da80840ea55 73fd9a1b82e
Author: Luis Aguilera <luis.aguilera@xamarin.com>
Date:   Fri Aug 18 09:59:06 2017 -0400

    Merge pull request #5400 from spouliot/bump-cecil-58834-d15-3

    [cecil] Bump to the head of the mono-2017-04 branch and pick the fix for bug #58834

References
[1] https://bugzilla.xamarin.com/show_bug.cgi?id=58789
[2] https://bugzilla.xamarin.com/show_bug.cgi?id=57919
[3] https://bugzilla.xamarin.com/show_bug.cgi?id=58834

* [mtouch] Put 'mono_profiler_startup_log' in the symbol list. Fixes #58778. (#2501)

We need the 'mono_profiler_startup_log' symbol when profiling is enabled, so
make sure to add the symbol to the correct list of symbols we need.

Previously we were passing `-u _mono_profiler_startup_log` to clang directly,
which is fine, but not complete, since it does not write the symbol to the
symbollist file (--symbollist=file), which means it wouldn't be preserved when
the MSBuild tasks strip the executable.

https://bugzilla.xamarin.com/show_bug.cgi?id=58778

* Bump versions for SR3

https://trello.com/c/EVze08ei

* Bump mono to include HttpClientHandler fix #44027

https://trello.com/c/jYFXadH8/8-systemnethttp-close-request-stream-when-httpclienthandler
https://bugzilla.xamarin.com/show_bug.cgi?id=44027

* [FileProvider] Add missing API and turn NSString to string (#2663)

Turned NSString to string in order to match exisiting API.

* [uikit] Add UIPasteConfigurationSupporting and UITextPasteConfigurationSupporting (#2649)


- Fixes bug #59363: Missing UIPasteConfigurationSupporting, UITextPasteConfigurationSupporting, UITextDraggable and UITextDroppable on a couple of types
(https://bugzilla.xamarin.com/show_bug.cgi?id=59363)

* [uikit] Remove 129 types in UIPasteConfigurationSupporting case

* [scenekit] Audit (xtro) fixes (#2648)

This looks like an Apple breaking change (since `SCNAnimation` is new)
but we now have:

> typedef void (^SCNAnimationEventBlock)(id<SCNAnimation> animation, id animatedObject, BOOL playingBackward);

bound as

> delegate void SCNAnimationEventHandler (CAAnimation animation, NSObject animatedObject, bool playingBackward);

and `CAAnimation` conforms to `SCNAnimation` but *only* the later is
available on watchOS. The delegate is only updated (since it's new)
on our watchOS profile.

xtro references:

(watchos)
!unknown-protocol! SCNCameraControlConfiguration bound

(tvos/watchos)
!missing-selector! SCNAnimation::animationEvents not bound
!missing-selector! SCNAnimation::setAnimationEvents: not bound
!missing-selector! SCNConstraint::isEnabled not bound
!missing-selector! SCNConstraint::setEnabled: not bound

!missing-field! SCNSceneSourceConvertToYUpKey not bound
!missing-field! SCNSceneSourceConvertUnitsToMetersKey not bound

(ios/tvos)
!missing-protocol-conformance! SCNNode should conform to UIFocusItem

* Bump maccore post 15.3 merge (#2665)

* Bump Xcode 9 to GM (#2667)

* Force build (on wrench)

* [avfoundation] Fix breaking changes (apidiff) (#2664)

* [TVServices] Update to Xcode 9 GM (#2675)

* [GameController] Update to Xcode 9 GM (#2673)

* [LocalAuthentication] Update to Xcode 9 GM (#2671)

* [LocalAuthentication] Update to Xcode 9 GM

* Remove availability from BiometryNotAvailable, BiometryNotEnrolled and BiometryLockout

* [AVFoundation] Add missing types AVSampleBufferAudioRenderer and AVSampleBufferRenderSynchronizer (#2659)

* [AVFoundation] Add missing types AVSampleBufferAudioRenderer and
AVSampleBufferRenderSynchronizer

Some of the new added types were already present BUT under a #if
MONOMAC, they had to be moved.

* [AVFoundation] Set the wrongly added API to be obsolete and ensure it returns logical values. (#2650)

* [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677)

The platform name is used to filter availability attributes, and if we use the
wrong platform, we'll incorrectly skip all availability attributes.

The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f

* Various Xcode 9 API improvements and also fixes bug 59433 (#2676)

https://bugzilla.xamarin.com/show_bug.cgi?id=59433

While fixing bug 59433 I noticed some additional issues outlined below:

AVDepthData:

* Renamed **non** static `Create` methods because `Create` only
  makes sense with the **Static** method in this context. Also
  by renaming the methods we are now closer to the names that
  swift uses.

* Kept descriptive method names in favor of self-documenting code.
  `Convert`, `Apply` and `Replace` do not fully give us the intent
  of the method.

* Added a convenience `Create` static method that takes a
  `CGImageAuxiliaryDataInfo`.

* AvailableDepthDataTypes is now an array of `CVPixelFormatType` instead
  of a `NSNumber` array (The aactual fix for bug 59433).

ImageIO:

* Refactored `CGImageAuxiliaryDataInfo` to be a `StrongDictionary` in order
  to avoid most of the manual code and also to avoid reimplementing
  the `ToDictionary` method (which contained a subtle bug).

* Adjusted code to reflect the above change.

* Added missing `.ctor (IntPtr, bool)` to `CGImageMetadata` so the class
  is able to be created by our `Runtime.Get*`.

* Simplified `CopyAuxiliaryDataInfo` method by using `CGImageAuxiliaryDataInfo`
  as a `DictionaryContainer`.

Tests:

* Added `xamarinmonkey.heic` which is an image that contains depth data needed
  to test above changes.

* Adds `AVDepthDataTests` that touches most of the changes listed here.

* Tweak the Simd-compatible matrices and vectors (#2668)

* Rename them to be OpenTK.NMatrix# (instead of Simd.MatrixFloat#x#).
* Remove the Vector2 and Vector4 variants, we'll use the OpenTK types instead (but we'll keep the NVector3 variant, since it's not identical to the OpenTK version).
* Update the API to match their OpenTK counterparts better:
    * NMatrix2 and NMatrix3 have a 0-based R#C# scheme for their fields.
    * NMatrix4 has a 1-based M## scheme for its fields (i.e. no change).

* [AVFoundation] Use Simd-matrix for API that needs it. (#2679)

This also requires implementing the corresponding matrix (NMatrix4x3).

Fixes this xtro issue:

> !unknown-simd-type-in-signature! OpenTK.Matrix3 AVFoundation.AVCameraCalibrationData::get_GetIntrinsicMatrix(): the native signature has a simd type (matrix_float3x3), while the corresponding managed method is using an incorrect (non-simd) type.

* [xtro] Fix checking availability on categories. (#2682)

When checking for category availability, check if both the current declaration
is a category, and if the current's declaration container is a category.

Otherwise this scenario fails:

* Category method is available.
* Category does not have availability attributes.
* Main class is unavailable.

with this typical code sequence:

```csharp
// don't process methods (or types) that are unavailable for the current platform
if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ())
	return;
```

In which case we'd:

* First check the method (`decl`):
	* It's available, so no further checks is done on the method.

* Then we'd check the method's container (`decl.DeclContext`):
	* The container (the category) does not have availability attributes.
	* Then we'd check if the container's container is a category (it isn't, it's the namespace).

and as such determine that the method is available.

With this change, the second step will become:

* Then we'd check the method's container (`decl.DeclContext`):
	* The container (the category) does not have availability attributes.
	* Then we'd check if the container is a category (it is), and if its main class is available (it isn't).

and as such determine that the method is unavailable.

* Check for attributes on the method's container (no attributes, so we continue).
* Check if the method's

Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1

* [uikit] Update for Xcode 9 GM (#2670)

* [AVFoundation] Implement AVCapturePhoto. Partially fixes #59388. (#2678)

Fixes:

> common.unclassified:!missing-type! AVCapturePhoto not bound

https://bugzilla.xamarin.com/show_bug.cgi?id=59388

* Use strong dictionaries for AVCapturePhoto.Metadata and AVCapturePhoto.EmbeddedThumbnailPhotoFormat.

* [SIMD] Implement Simd double types (VectorDouble3/MatrixDouble4x4). (#2632)

The following types will be used by ModelIO bindings

* Fix delta to be double

* Rename Simd-compatible matrices and vectors to match our final naming.

This also means removing the new Vector2 and Vector4 variants (but not
Vector3).

* [avfoundation] Remove AVAssetDownloadDelegate.DidLoadTimeRange since it was removed in one of the betas (#2687)

* [foundation] Move NSUrlSessionMultipathServiceType to a file processed by the generator (for the availability attributes) (#2688)

* [arkit] Update for Xcode 9 GM (#2681)

* [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690)

* [Intents] Fix watchOS INCarSeatResolutionResult breaking changes

Type Changed: Intents.INCarSeatResolutionResult

Removed methods:

    public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm);
    public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue);

* [avfoundation] Add missing protocol members and deprecations (#2691)

!missing-protocol-member! AVCapturePhotoCaptureDelegate::captureOutput:didFinishProcessingPhoto:error: not found

and the selector removed from PR#2687 was actually replaced with this one

!missing-protocol-member! AVAssetDownloadDelegate::URLSession:aggregateAssetDownloadTask:didLoadTimeRange:totalTimeRangesLoaded:timeRangeExpectedToLoad:forMediaSelection: not found

* [tests][xtro] Map some enums, more fix with protocols and update entries (#2692)

* [Tests] Reenable dns tests on the watch. (#2674)

* [arkit] Add ARBlendShapeLocationOptions strong dictionary (#2696)

* [coreimage] Skip not yet bound filters added in Xcode9 (#2698)

Tracked in https://bugzilla.xamarin.com/show_bug.cgi?id=57350

* [Metal] Renamed MTLArgumentDescriptor.ArgumentDescriptor to Create, fixes bug 59498 (#2702)

https://bugzilla.xamarin.com/show_bug.cgi?id=59498

From [argumentDescriptor docs](https://developer.apple.com/documentation/metal/mtlargumentdescriptor/2915746-argumentdescriptor?language=objc)

> Creates an empty argument descriptor.

* [msbuild] Always codesign app bundles if the codesign key is non-null (#2697)

...even if it is a simulator build.

Turns out that starting with Xcode9, sim builds need to be codesigned
for App Groups entitlements to work properly. Interestingly, the
DetectSigningIdentity logic had a comment about needing to codesign
simulator builds for some entitlements to work already starting with
Xcode 8 but apparently the iOS targets did not respect this.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=59379

* [Foundation] Add NSProxy stub in order to workaround bug 59247 (#2693)


https://bugzilla.xamarin.com/show_bug.cgi?id=59247

We need to have a better solution that removes all what NSProxy does not responds to.
Right now this works because NSObject implements NSObject protocol just like NSProxy, but
NSProxy responds to far less selectors hence doing it internal so it is not a breaking change
when we provide the correct fix.

* Keep NSProxy around and avoid XML linker description

We need to keep NSProxy (avoid linking it) if WKNavigationDelegate or IWKNavigationDelegate
is used. We know WKWebView will be there and can hold a reference to it.

* [Xcode 9] Update Metal for GM (#2689)

* [iosurface] IOSurface is not usable before iOS/tvOS 11. Fixes #59201 (#2706)

Apple rejects apps that links with the previously private IOSurface.framework.
We were not sure about this [1] and had it disabled (this is removed).

However another bug stopped our adjustment logic [2] from being executed. This
is needed since `clang` picks up the private framework if it does not find the
public one (even when asking for a weak framework),

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=59201
[2] Added a while ago for JavascriptCore

* Bump maccore to point to commit with the docs fix. (#2703)

* Bump XI to 11.0.x (and XM to 3.99.9.x) (#2684)

* fix typo
2017-09-15 17:53:16 -04:00
Sebastien Pouliot f35715e69c [tests][xtro] Map some enums, more fix with protocols and update entries (#2692) 2017-09-14 10:01:24 -04:00
Alex Soto 274a34c93f [Intents] Fix watchOS INCarSeatResolutionResult breaking changes (#2690)
* [Intents] Fix watchOS INCarSeatResolutionResult breaking changes

Type Changed: Intents.INCarSeatResolutionResult

Removed methods:

    public static INCarSeatResolutionResult GetConfirmationRequired (INCarSeat valueToConfirm);
    public static INCarSeatResolutionResult GetSuccess (INCarSeat resolvedValue);
2017-09-14 00:10:03 -04:00
Vincent Dondain 05dde4c9ec [arkit] Update for Xcode 9 GM (#2681) 2017-09-13 23:22:52 -04:00
Rolf Bjarne Kvinge 8a21e57174 [xtro] Fix checking availability on categories. (#2682)
When checking for category availability, check if both the current declaration
is a category, and if the current's declaration container is a category.

Otherwise this scenario fails:

* Category method is available.
* Category does not have availability attributes.
* Main class is unavailable.

with this typical code sequence:

```csharp
// don't process methods (or types) that are unavailable for the current platform
if (!decl.IsAvailable () || !(decl.DeclContext as Decl).IsAvailable ())
	return;
```

In which case we'd:

* First check the method (`decl`):
	* It's available, so no further checks is done on the method.

* Then we'd check the method's container (`decl.DeclContext`):
	* The container (the category) does not have availability attributes.
	* Then we'd check if the container's container is a category (it isn't, it's the namespace).

and as such determine that the method is available.

With this change, the second step will become:

* Then we'd check the method's container (`decl.DeclContext`):
	* The container (the category) does not have availability attributes.
	* Then we'd check if the container is a category (it is), and if its main class is available (it isn't).

and as such determine that the method is unavailable.

* Check for attributes on the method's container (no attributes, so we continue).
* Check if the method's

Unclassified diff: https://gist.github.com/rolfbjarne/8fa80962596978a426eadf9b7ba39dc1
2017-09-13 13:19:58 -04:00
Rolf Bjarne Kvinge a6d978118e [xtro] The right platform for macOS is 'macos', not 'osx'. (#2677)
The platform name is used to filter availability attributes, and if we use the
wrong platform, we'll incorrectly skip all availability attributes.

The net result in unclassified entries: https://gist.github.com/rolfbjarne/a4474bc2a40c49a85cad495b51bb514f
2017-09-13 08:33:35 -04:00
Vincent Dondain a825f5e73e [xtro] Add missing pinvoke to pending (#2662)
- Bug 59422: [uikit] Missing UIContentSizeCategoryCompareToCategory & UIContentSizeCategoryIsAccessibilityCategory
(https://bugzilla.xamarin.com/show_bug.cgi?id=59422)
2017-09-12 13:06:04 -04:00
Sebastien Pouliot f260a4f2dc [homekit] Audit (xtro) fixes (#2653)
- HMCharacteristicEvent conforms to NSMutableCopying on iOS11
  which makes it 64 bits only (so adjust intro tests)

- Ignore extra setters on HMMutablePresenceEvent, rdar 33883958

!missing-selector! HMMutablePresenceEvent::setPresenceEventType: not bound
!missing-selector! HMMutablePresenceEvent::setPresenceUserType: not bound
2017-09-12 11:35:19 -04:00
Sebastien Pouliot fda29cf3fe [tests][xtro] Workaround xtro runner dupe entry exception and update data files (#2654) 2017-09-12 09:01:18 -04:00
Vincent Dondain 54058bb885 [arkit] Ignore deprecated selectors (#2645) 2017-09-12 07:30:31 +02:00
Sebastien Pouliot aa309d839b [tests] Update xtro to reduce list sizes (#2636)
* Skip OpenTK duplicate declaration (we can't change them);
* Fix rule name change for ARKit / simd;
* Add missing default initializer on `init` to pending actions;
* Add note for AVPersistableContentKeyRequest changes wrt tvOS;
2017-09-11 08:16:19 -04:00
Sebastien Pouliot 17da58fade [metal] Audit (xtro) based fixes (#2623)
!extra-protocol-member! unexpected selector MTLArgumentEncoder::newArgumentEncoderForBufferAtIndex: found
!extra-protocol-member! unexpected selector MTLComputeCommandEncoder::dispatchThreads:threadsPerThreadgroup: found

macos-only

!missing-field! MTLDeviceRemovalRequestedNotification not bound
!missing-field! MTLDeviceWasAddedNotification not bound
!missing-field! MTLDeviceWasRemovedNotification not bound

!missing-pinvoke! MTLCopyAllDevices is not bound
2017-09-08 14:05:45 -04:00
Sebastien Pouliot 5014315ea3 [avfoundation][watchos] Enable AudioBufferList (fix #59145) + audit (xtro) (#2617)
1. AudioBufferList is part of CoreAudio (wrong namespace, which needs
   a few changes in the generator) and now available in watchOS 4
   https://bugzilla.xamarin.com/show_bug.cgi?id=59145

2. Also fixes xtro found issues:

!missing-type! AVAudioRecorder not bound
!missing-selector! AVAudioRecorder::averagePowerForChannel: not bound
!missing-selector! AVAudioRecorder::channelAssignments not bound
!missing-selector! AVAudioRecorder::currentTime not bound
!missing-selector! AVAudioRecorder::delegate not bound
!missing-selector! AVAudioRecorder::deviceCurrentTime not bound
!missing-selector! AVAudioRecorder::format not bound
!missing-selector! AVAudioRecorder::initWithURL:format:error: not bound
!missing-selector! AVAudioRecorder::initWithURL:settings:error: not bound
!missing-selector! AVAudioRecorder::isMeteringEnabled not bound
!missing-selector! AVAudioRecorder::isRecording not bound
!missing-selector! AVAudioRecorder::peakPowerForChannel: not bound
!missing-selector! AVAudioRecorder::recordAtTime: not bound
!missing-selector! AVAudioRecorder::recordAtTime:forDuration: not bound
!missing-selector! AVAudioRecorder::recordForDuration: not bound
!missing-selector! AVAudioRecorder::setChannelAssignments: not bound
!missing-selector! AVAudioRecorder::setDelegate: not bound
!missing-selector! AVAudioRecorder::setMeteringEnabled: not bound
!missing-selector! AVAudioRecorder::settings not bound
!missing-selector! AVAudioRecorder::url not bound

!missing-protocol! AVAudioRecorderDelegate not bound

!missing-selector! AVAudioEngine::inputNode not bound
!missing-selector! AVAudioEngine::manualRenderingBlock not bound
!missing-selector! AVAudioInputNode::setManualRenderingInputPCMFormat:inputBlock: not bound
!missing-selector! AVAudioPlayer::format not bound
!missing-selector! AVAudioSession::requestRecordPermission: not bound

!unknown-field! AVFileType3GPP bound
!unknown-field! AVFileType3GPP2 bound
!unknown-field! AVFileTypeAC3 bound
!unknown-field! AVFileTypeAIFC bound
!unknown-field! AVFileTypeAIFF bound
!unknown-field! AVFileTypeAMR bound
!unknown-field! AVFileTypeAVCI bound
!unknown-field! AVFileTypeAppleM4A bound
!unknown-field! AVFileTypeAppleM4V bound
!unknown-field! AVFileTypeCoreAudioFormat bound
!unknown-field! AVFileTypeDNG bound
!unknown-field! AVFileTypeEnhancedAC3 bound
!unknown-field! AVFileTypeHEIC bound
!unknown-field! AVFileTypeHEIF bound
!unknown-field! AVFileTypeJPEG bound
!unknown-field! AVFileTypeMPEG4 bound
!unknown-field! AVFileTypeMPEGLayer3 bound
!unknown-field! AVFileTypeQuickTimeMovie bound
!unknown-field! AVFileTypeSunAU bound
!unknown-field! AVFileTypeTIFF bound
!unknown-field! AVFileTypeWAVE bound
2017-09-08 08:49:19 -04:00
Sebastien Pouliot 8c57522e2e [foundation] xtro fixes for watchOS (#2586)
!missing-enum! NSProcessInfoThermalState not bound
!missing-field! NSProcessInfoThermalStateDidChangeNotification not bound
!missing-selector! NSProcessInfo::thermalState not bound

Headers are wrong and preferredPresentationStyle is not in tvOS and watchOS

!missing-selector! NSItemProvider::preferredPresentationStyle not bound
!missing-selector! NSItemProvider::setPreferredPresentationStyle: not bound

* [uikit] Also remove UIPreferredPresentationStyle enum from platform where it's not used
2017-09-07 17:46:37 -04:00
Sebastien Pouliot 8bb621cd93 [coreimage] Add new headers API up to beta 6 (#2601)
Filters are not complete (ref: #57350)
https://bugzilla.xamarin.com/show_bug.cgi?id=57350

* Some new constants are not yet documented (type is known), so they
  are commented / ignored
  https://bugzilla.xamarin.com/show_bug.cgi?id=59296

* Filled bug for [Wrap] inside [Category] so strong dictionary helpers
  can be re-enabled later
  https://bugzilla.xamarin.com/show_bug.cgi?id=59294
2017-09-07 14:52:13 -04:00
Vincent Dondain e096d6aab4 [uikit] Update for Xcode 9 - Part 6 (#2602)
NSAttributedString.h
NSFileProviderExtension.h
NSLayoutAnchor.h
UIAccessibility.h
UIAccessibilityAdditions.h
UIAccessibilityContainer.h
UIAccessibilityContentSizeCategoryImageAdjusting.h
UIAccessibilityCustomRotor.h
UIAccessibilityLocationDescriptor.h
UITabBar.h
UINavigationBar.h
UIScreen.h
2017-09-07 10:54:58 -04:00
Vincent Dondain 6802ba7e24 [xtro] Fix EnumCheck (#2600) 2017-09-05 22:38:02 -04:00
Vincent Dondain fb476034d1 [xtro] Fix StartWorkingDirectory to enable debugging (#2598) 2017-09-05 15:56:13 -04:00
Alex Soto 82afd3e96d [Intents] Adds missing API found by xtro, fixes Bug 59183 (#2596)
https://bugzilla.xamarin.com/show_bug.cgi?id=59183

Fixes

!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!incorrect-protocol-member! INUIHostedViewControlling::configureWithInteraction:context:completion: is OPTIONAL and should NOT be abstract
2017-09-05 14:01:44 -05:00
Rolf Bjarne Kvinge 15808c4693 Merge pull request #2571 from rolfbjarne/xcode9-matrix
Add Simd matrix types and use them to bind native Simd matrices. Fixes #58599
2017-09-05 15:33:02 +02:00
Sebastien Pouliot a85324b01c [intents] Fix some (partial) xtro issues and #59156 (#2585)
reference
https://bugzilla.xamarin.com/show_bug.cgi?id=59156

Remaining issues are filled in https://bugzilla.xamarin.com/show_bug.cgi?id=59183

!missing-selector! +INCarSeatResolutionResult::confirmationRequiredWithCarSeatToConfirm: not bound
!missing-selector! +INCarSeatResolutionResult::successWithResolvedCarSeat: not bound
!missing-selector! +INNotebookItemTypeResolutionResult::disambiguationWithValuesToDisambiguate: not bound
2017-09-05 08:08:15 -04:00
Rolf Bjarne Kvinge 45c37d2905 [xtro] Reword some of the Simd diagnostic messages according to review. 2017-09-01 15:17:51 +02:00
Sebastien Pouliot 4bc13b0ec5 [spritekit] Audit fixes (xtro) (#2577)
1.	SKVideoNode is now, partially, available on watchOS and does
	not require the extra, manual code to swicth selectors depending
	on the OS version being run.

!missing-type! SKVideoNode not bound
!missing-selector! SKVideoNode::anchorPoint not bound
!missing-selector! SKVideoNode::initWithCoder: not bound
!missing-selector! SKVideoNode::initWithFileNamed: not bound
!missing-selector! SKVideoNode::initWithURL: not bound
!missing-selector! SKVideoNode::setAnchorPoint: not bound
!missing-selector! SKVideoNode::setSize: not bound
!missing-selector! SKVideoNode::size not bound
!missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound
!missing-selector! +SKVideoNode::videoNodeWithURL: not bound

2.	SKNodeFocusBehavior is exposed needlessly on watchOS because
	SpriteKit/Enums.cs was not processed by the generator, so [NoWatch]
	did not matter.

!unknown-native-enum! SKNodeFocusBehavior bound

	It's also visible on macOS but nothing uses it (so we do not expose
	it needlessly)

!missing-enum! SKNodeFocusBehavior not bound

3.	Add missing designated initializer on default `init`

!missing-designated-initializer! SKAttributeValue::init is missing an [DesignatedInitializer] attribute
!missing-designated-initializer! SKNode::init is missing an [DesignatedInitializer] attribute

4.	Remove inconsistency for SKNode subclasses wrt XAMCORE_4_0

The trio attributeValues, setAttributeValues and setValue:forAttributeNamed:
that was moved from SKNode (deprecated) into its subclasses. This was done
using XAMCORE_4_0 but not on every subclasses. This adds them everywhere to
be consistent (only SKNode versions are not defined in XAMCORE_4_0)

!missing-selector! SKEffectNode::attributeValues not bound
!missing-selector! SKEffectNode::setAttributeValues: not bound
!missing-selector! SKEffectNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEffectNode::valueForAttributeNamed: not bound
!missing-selector! SKEmitterNode::attributeValues not bound
!missing-selector! SKEmitterNode::setAttributeValues: not bound
!missing-selector! SKEmitterNode::setValue:forAttributeNamed: not bound
!missing-selector! SKEmitterNode::valueForAttributeNamed: not bound
!missing-selector! SKSpriteNode::attributeValues not bound
!missing-selector! SKSpriteNode::setAttributeValues: not bound
!missing-selector! SKSpriteNode::setValue:forAttributeNamed: not bound
!missing-selector! SKSpriteNode::valueForAttributeNamed: not bound
2017-09-01 08:20:28 -04:00
Rolf Bjarne Kvinge 96ad068015 [xtro] Reword some of the Simd diagnostic messages according to review. 2017-09-01 09:37:58 +02:00
Vincent Dondain 0697797fdf [uikit] Fix enums availability attributes (#2575)
- Fixes bug #59132: [uikit] Extra types in watchOS
(https://bugzilla.xamarin.com/show_bug.cgi?id=59132)
2017-08-31 15:33:31 -04:00
Sebastien Pouliot d3fced628f [wkwebkit] Fix (native) protocol names (#2572)
Also ignore xtro's WKSnapshotConfiguration since it's an Apple bug 34185961

reference (xtro)
!missing-protocol! WKURLSchemeHandler not bound
!missing-protocol! WKURLSchemeTask not bound
!unknown-protocol! WKUrlSchemeHandler bound
!unknown-protocol! WKUrlSchemeTask bound

!unknown-type! WKSnapshotConfiguration bound
2017-08-31 13:35:25 -04:00
Rolf Bjarne Kvinge 11b0eb96dc [xtro] Remove unnecessary ignores.
The implementation changed, and these stayed accidentally.
2017-08-31 14:51:45 +02:00
Rolf Bjarne Kvinge 8ec1bafdd8 [xtro] Don't report missing [MarshalDirective] for obsolete methods. 2017-08-31 14:50:54 +02:00
Rolf Bjarne Kvinge a3314bc2ed [xtro-sharpie] Add a Simd check class to verify signatures with Simd types. 2017-08-31 14:03:10 +02:00
Sebastien Pouliot ce6ae3ebb9 [vision] Minor fix wrt xtro (#2551)
including some things we need to ignore manually

!missing-field! VNVisionVersionNumber not bound
!missing-pinvoke! VNImagePointForFaceLandmarkPoint is not bound
!missing-pinvoke! VNNormalizedFaceBoundingBoxPointForLandmarkPoint is not bound
2017-08-28 10:24:06 -04:00
Sebastien Pouliot 19a01f77cf [corebluetooth] Update up to beta 6 and enable it on watchOS (#2540)
macOS 10.13 has finally catch up with iOS and this simplifies the
bindings a bit.
2017-08-24 17:41:10 -04:00
Rolf Bjarne Kvinge 3b13cffaab [xtro-sharpie] Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute. (#2524)
Teach xtro-sharpie about how to get protocol name from the ProtocolAttribute
to calculate the native name for a TypeDefinition.

Unclassified changes: https://gist.github.com/rolfbjarne/828f8ee41eebb0a3b60a38d71822fe59
2017-08-24 09:39:22 +02:00
Rolf Bjarne Kvinge f519c869e1 [xtro-sharpie] Many methods don't have selectors in Clang's API, so default to the name if no selector. (#2523)
This makes a few more unclassified entries show up (mostly missing designated initializers): https://gist.github.com/rolfbjarne/07aa20f9b50b75bf3e69ac6a825e873a
2017-08-23 18:24:32 +02:00
Rolf Bjarne Kvinge 0854a77727 [xtro-sharpie] Remove xtro-plugin and misc other fixes. (#2522)
* [xtro-sharpie] Build with msbuild and be as quiet as requested when building.

* [xtro-sharpie] Must run as a 64-bit process, since the required native libraries are 64-bit.

* [xtro-sharpie] Add run configurations to the project file to ease debugging in the IDE.

* [xtro-sharpie] Remove xtro-plugin and the related commands.

This was needed when there wasn't a 64-bit mono, in order to run xtro-sharpie
in a 64-bit process.

Now there is a 64-bit mono, so it's not needed anymore.

Also improve makefile targets a bit, to auto-build stuff when needed, by
setting the right dependencies.
2017-08-22 15:47:38 +02:00
Rolf Bjarne Kvinge d113e62d0a [xtro-sharpie] Fix a compiler warning. (#2516)
Fixes these warnings:

Runner.cs(197,5): warning CS0642: Possible mistaken empty statement
Runner.cs(199,5): warning CS0642: Possible mistaken empty statement
Runner.cs(201,5): warning CS0642: Possible mistaken empty statement
Runner.cs(203,5): warning CS0642: Possible mistaken empty statement
Runner.cs(205,5): warning CS0642: Possible mistaken empty statement
2017-08-22 11:33:09 +02:00
Alex Soto 2522ff1e04 [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5 (#2493)
* [Intents] Add bindings for Xcode 9 Beta 1, 2, 3, 4 & 5

* [Intents] Implement feedback

* [Intents] Add a generic version for INInteraction.GetParameterValue

* [Intents] Missing check
2017-08-15 12:18:41 -05:00
Sebastien Pouliot 75ac29f8e5 [coredata] Update to beta 5 (#2488) 2017-08-15 08:29:54 -04:00
Sebastien Pouliot 71f1970565 [replaykit] Update up to beta 5 (#2484) 2017-08-14 13:36:30 -04:00
Sebastien Pouliot d26c6467a1 [passkit] Update to beta 5 (#2481) 2017-08-12 13:09:46 -04:00
Alex Soto 1cbac6a367 [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4 (#2378)
* [PDFKit] Update to Xcode 9 Beta 1, 2, 3 & 4

* [PDFKit] Implement feedback

* [PDFKit] the forgotten enum

* [PDFKit] More feedback

* [PDFKit] Add Mac changes

* Missing change

* Fix test RectangleF VS CGRect
2017-08-04 08:06:21 -05:00
Vincent Dondain f29113552c [uikit] UIText drag & drop - up to Xcode 9 beta 4 (#2410) 2017-08-03 13:11:18 -04:00
Sebastien Pouliot 8c7b776d86 [mediaplayer] Update up to beta 4 (#2388) 2017-08-01 19:39:24 -04:00
Alex Soto 72cfc48287 [CoreML] Update to Xcode 9 Beta 4 (#2387) 2017-08-01 07:46:10 -04:00
Sebastien Pouliot 87206a26a6 [storekit] Update up to beta 4 (#2379) 2017-07-31 11:34:06 -04:00
Alex Soto f34b61da2b [CoreML] Add Xcode 9 Beta 1 bindings (#2275)
* [CoreML] Add Xcode 9 Beta 1 bindings

* Do not C# 7 here... :'(

* No C# 7 here either :'(

* Apply feedback

* [CoreML] Fix feedback and xtro

* [CoreML] Add more feedback

* Fix build.... What the heck was I thinking, always rebuild your stuff...
2017-06-30 17:35:30 -05:00
Alex Soto c4d6dd985d [EventKit] Update to Xcode 9 Beta 1 2017-06-29 09:51:45 -05:00
Timothy Risi 86d45b0787 [FinderSync, MediaLibrary] Update to xcode 9 betas 1 and 2 (#2219)
* Add 2 unbound frameworks to the xtro mac exclusions
2017-06-28 11:38:05 -08:00
Alex Soto 72332b4ae6 [CoreNFC] Add CoreNFC Xcode 9 Beta 1 Bindings (#2226)
* [CoreNFC] Add CoreNFC Xcode 9 Beta 1 Bindings

CoreNFC is not exposed in iOS simulator, no framework/headers are found
makes sense since there is no NFC chip on it.

CoreNFC says it is available on tvOS but headers says just 3 enums
are so not enabling tvOS in this first beta.

* [mtouch] CoreNFC not available on sim, this makes mtouch aware of it
2017-06-19 13:56:00 -05:00
Alex Soto b55ff34387 [Accounts] Update to Xcode 9 Beta 1 (#2205)
* [Accounts] Uodate to Xcode 9 Beta 1

Also added ACAccountStore.RemoveAccount, xtro caught this API
common.unclassified:!missing-selector! ACAccountStore::removeAccount:withCompletionHandler: not bound

* [Accounts] Adds a dot at the end of the sentance.
2017-06-13 18:03:36 -05:00
Alex Soto f433b83d0f [xtro][Tests] Fix xtro for macOS by ignoring InputMethodKit (#2180)
InputMethodKit in Xcode 9 Beta 1 ships with a broken module
so we ignore it for now, this allows xtro to work
2017-06-07 09:10:53 -05:00
Alex Soto 8ef77344bc [Intents] Updated to Xcode 8.3 Beta1 and Beta2 (#1686)
Added more types to INIntentResolutionResultTests

Partial Test log:

[Runner executing:	Run Everything]
[MonoTouch Version:	10.3.99]
[Assembly:	Xamarin.WatchOS.dll (32 bits)]
[GC:	sgen]
[Apple Watch:	watchOS v3.2]
[Device Name:	iMacAlex]
[Device Locale:	en_US]
[Device Date/Time:	2/13/2017 11:45:10 PM]
[Bundle:	com.xamarin.monotouch-test.watchkitapp.watchkitextension]

 monotouchtest.dll

INIntentResolutionResultTests
	[PASS] INIntentResolutionResultTests.INBillPayeeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INBillTypeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INBooleanResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCallRecordTypeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCarAirCirculationModeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCarAudioSourceResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCarDefrosterResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCarSeatResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCarSignalOptionsResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INCurrencyAmountResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INDateComponentsRangeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INDateComponentsResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INDoubleResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INIntegerResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INIntentResolutionResultIsAbstractTest
	[PASS] INIntentResolutionResultTests.INMessageAttributeOptionsResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INMessageAttributeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INPaymentAccountResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INPaymentAmountResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INPaymentStatusResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INPersonResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INPlacemarkResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INRadioTypeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INRelativeReferenceResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INRelativeSettingResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INSpeakableStringResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INStringResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INTemperatureResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INWorkoutGoalUnitTypeResolutionResultPropertyTest
	[PASS] INIntentResolutionResultTests.INWorkoutLocationTypeResolutionResultPropertyTest
INIntentResolutionResultTests : 20 ms

* [Intent] Workaround for introspection tests

Right now introspection tests fail randomly on two test targets
iOSApiCtorInitTest and iOSApiSelectorTest so we are temporary
removing them from the test suite with the hope  to have them
fixed on the next beta
2017-03-28 14:40:10 -05:00
Vincent Dondain d819d25bff [modelio] Add missing MDLMesh constructors and fix xtro (#1826)
Fixes bug #52575: Missing ModelIO API
(https://bugzilla.xamarin.com/show_bug.cgi?id=52575)

We turn the MDLMesh constructors into static ones because we don't want to lose the shape name.
Also, the signatures of these constructors differ so it would not be possible to use an enum to differentiate the shapes.
2017-03-28 10:08:12 -05:00
Sebastien Pouliot 9686e6464b [tests][xtro] Some fixes, mostly data, so [ios|tvos|watchos].unclassified are empty (#1766)
Also reduce a bit the size of common.unclassified
2017-03-28 10:07:54 -05:00
Manuel de la Pena e6130b9735 [AVFoundation] Update bindings for Xcode 8.3 (#1713)
* has some remaining issues that will be fixed in a different PR
2017-03-28 09:56:48 -05:00
Alex Soto c8e4135faa [Intents] Update to Xcode 8.3 Beta 3 (#1741) 2017-03-28 09:53:32 -05:00
Sebastien Pouliot 74fe26f901 [tests][xtro] Add optional generation of bindings for API in xtro's Makefile (#1732) 2017-03-28 09:46:11 -05:00
Vincent Dondain dd54bc4509 [spritekit] Update for Xcode 8.3 beta 1 - part 3 (#1705)
- Fixes bug #52568: Missing SpriteKit API
(https://bugzilla.xamarin.com/show_bug.cgi?id=52568)

xtro revealed that some selectors were still missing after the "part 2" fix.

* [spritekit] Add missing selectors and clean up common.pending

Fixes bug #34946: [spritekit] Missing selectors
(https://bugzilla.xamarin.com/show_bug.cgi?id=34946)

Also as per https://github.com/xamarin/xamarin-macios/pull/1705#pullrequestreview-22328496
we find that there's more value in exposing those static methods (SKUniform::uniformWithName:*) than hiding them.

https://bugzilla.xamarin.com/show_bug.cgi?id=37727 was already fixed but we didn't remove
the added selectors from common.pending

The following selectors were already bound:
!missing-selector! +SKActions::falloffTo:duration: not bound
!missing-selector! +SKVideoNode::videoNodeWithFileNamed: not bound
!missing-selector! +SKVideoNode::videoNodeWithURL: not bound
2017-03-28 09:43:54 -05:00
Sebastien Pouliot bcf27ce090 [security] Add more SecCertificate* API from beta1. Fixes #52505 (#1695)
They were thought to be macOS only but xtro corrected me, they are
new in iOS 10.3 even if some existed previously.

references (xtro):
!missing-pinvoke! SecCertificateCopyCommonName is not bound
!missing-pinvoke! SecCertificateCopyEmailAddresses is not bound
!missing-pinvoke! SecCertificateCopyNormalizedIssuerSequence is not bound
!missing-pinvoke! SecCertificateCopyNormalizedSubjectSequence is not bound
!missing-pinvoke! SecCertificateCopyPublicKey is not bound
!missing-pinvoke! SecCertificateCopySerialNumber is not bound

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=52505
2017-03-28 09:34:52 -05:00
Vincent Dondain 6d7efb1405 [modelio] Fix common.unclassified for recent Xcode8.3 changes (#1692) 2017-03-28 09:31:10 -05:00
Sebastien Pouliot 375fd87f85 [tests][xtro] Run xtro comparison against the locally built assemblies, not the one installed on the system (#1691) 2017-03-28 09:30:55 -05:00
Sebastien Pouliot 63c98bcbde [metal] Add new MTL* API from Xcode 8.3 beta1 (#1666)
Covers iOS, tvOS and macOS (no Metal on watch yet)

Most new members are _marked_ as @required (but are not really) by
Apple. We cannot make them `abstract` as it would be a breaking change.
2017-03-28 09:28:53 -05:00
Sebastien Pouliot b05b55a8ed [tvos][mediaplayer] Update xtro definitions (#1654)
The new field and both selectors are not really part of tvOS.

The field is not used anywhere (from available API).

The selectors are on a category on a type that is not part of tvOS.
Sadly they do not get annotated directly and require external data.
2017-03-28 09:28:40 -05:00
Sebastien Pouliot 53645cc336 [tvos][storekit] Adjust StoreKit beta 1 bindings for tvOS (#1646) 2017-03-28 09:26:23 -05:00
Sebastien Pouliot b5632f9c2f merge xcode8.2 into master 2016-12-12 21:26:23 -05:00
Alex Soto 6b65ce9077 [AVFoundation] Low hanging fruits and xtro of AVFoundation (#980)
This commit brings all new 10.12 api + most of the unbound
AVFoundation API that is macOS specific and was left in the limbo
2016-11-07 09:32:56 -06:00
Rolf Bjarne Kvinge 3351e2a633 Add a 'repositorypath' to our NuGet.Config and update paths everywhere accordingly. (#1110)
This makes us only put packages in one directory (saves disk space and time),
and it also makes project files in multiple solutions work properly
(mtouch.csproj is in tests/tests.sln and tests/mtouch/mtouch.sln).
2016-11-04 09:13:33 +01:00
Sebastien Pouliot 8c93e7758d Merge branch 'xcode8.1' 2016-10-26 15:56:34 -04:00
Sebastien Pouliot 24b7b5be2e [passkit] API audit: remove default .ctor on PKLabeledValue, add tests for PKLabeledValue and add xtro comments (#979) 2016-10-12 11:30:11 +02:00
Timothy Risi 065b189c26 [Mac] CoreBluetooth low hanging fruit bindings (#947) 2016-10-05 11:10:32 -05:00
Alex Soto 462a3c79fa [CoreLocation] Review macOS CoreLocation low hanging fruits and xtro (#937) 2016-10-03 21:59:39 -04:00
Timothy Risi ecdd2fa43a [Mac] SceneKit and Metal low hanging fruit bindings from iOS (#931) 2016-10-03 16:02:32 -04:00
Chris Hamons 97dfc6e972 [XM] Add missing NSNotification bits (#925)
- https://bugzilla.xamarin.com/show_bug.cgi?id=40494
2016-09-30 12:51:11 -04:00
Sebastien Pouliot 51e2ae5e66 [tests][xtro] Add a few, late, xtro data and remove comments post audit (#828) 2016-09-23 13:04:18 -04:00
Sebastien Pouliot 675ecae885 [tests][xtro] Add a few, late, xtro data and remove comments post audit (#828) 2016-09-13 14:55:01 -04:00
Sebastien Pouliot 38148c718a Merge branch 'xcode8' 2016-09-09 15:29:37 -04:00
Alex Soto 424fe9ae1e [UIKit] Remove 3 protocol members until bug 43579 is fixed (#783)
https://bugzilla.xamarin.com/show_bug.cgi?id=43579

We are removing the following 3 protocol members
- UITextFieldDelegate.EditingEnded2 (UITextField textField, UITextFieldDidEndEditingReason reason)
- UITextViewDelegate.ShouldInteractWithUrl2 (UITextView textView, NSUrl url, NSRange characterRange, UITextItemInteraction interaction)
- UITextViewDelegate.ShouldInteractWithTextAttachment2 (UITextView textView, NSTextAttachment textAttachment, NSRange characterRange, UITextItemInteraction interaction)

Reasons:
- We need to fix bug https://bugzilla.xamarin.com/show_bug.cgi?id=43579
- Bad naming, we do not want 2 suffix

Hopefully we can have this ready for C8SR0 or C8SR1
2016-09-07 10:08:43 -04:00
Sebastien Pouliot 3054daf39b [photos] Update TODOs wrt lack of PHLivePhotoShouldRenderAtPlaybackTime in the SDK 2016-09-06 09:58:36 -04:00
Sebastien Pouliot 838ccc4cf4 [tests][xtro] Update data files 2016-09-02 20:37:08 -04:00
Alex Soto 209f4f3709 [GameplayKit] Update from Xcode8 Beta 1 to Beta 6 (#689)
Runtime
- Added support for Vector2d, Vector3d and Vector4d SIMD types
- Added support for GKBox, GKQuad and GKTriangle SIMD types

GameplayKit
- Apple introduced GKQuadTreeNode and GKQuadTree in Xcode 7.1 and
  removed those types in a later Xcode (7.2?) but we kept them around.
  Now apple introduced again both types but renamed them to GKQuadtreeNode
  and GKQuadtree (lowercase t), this is a breaking change and since we do
  care about binary compat we are just changing the registration name and
  keeping the same managed name deprecating old methods and introducing
  the new ones.
- Added tests for new SIMD types
2016-08-30 15:32:46 -04:00
Sebastien Pouliot f74a7a7911 [messageui] Review (and add test) the enum breaking change from Apple. Fixes #42682 (#710)
Xcode8 SDK changed untyped enums (always 32 bits) into NSInteger. In this
case we can continue with the existing API (and ignore them in xtro)

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=42682
2016-08-30 14:26:49 -04:00
Sebastien Pouliot 3c28e427ce [tests][xtro] Update data files (#705) 2016-08-29 22:06:14 -04:00
Sebastien Pouliot 85f884c94d [corebluetooth] Update availability attributes for some obsolete (removed) API (#702)
references:
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
2016-08-29 16:48:03 -04:00
Sebastien Pouliot b5638fce4d [tests][xtro] Update data files 2016-08-28 12:18:18 -04:00
Sebastien Pouliot d85caeffde [tvos][avfoundation] Adjust API for tvOS (#687)
Some types were removed in tvOS 10, including:

!unknown-protocol! AVAssetDownloadDelegate bound
!unknown-type! AVAssetDownloadTask bound
!unknown-type! AVAssetDownloadURLSession bound
!unknown-type! AVAudioInputNode bound

and we're replacing them with stubs so our binaries won't contain any of
the selectors that could be rejected by Apple on the app store

Some (new) fields are also not part of tvOS (and were not in iOS either)

!unknown-field! AVVideoCodecAppleProRes422 bound
!unknown-field! AVVideoCodecAppleProRes4444 bound
!unknown-field! AVVideoColorPrimaries_EBU_3213 bound
!unknown-field! AVVideoTransferFunction_SMPTE_240M_1995 bound
!unknown-field! AVVideoYCbCrMatrix_SMPTE_240M_1995 bound

* [tests][xtro] Many categories are not marked as not available on tvOS, even if the type being extended is not available. This adds entries for them so only missing AV* API remains in tvos.unclassified
2016-08-26 20:40:01 -04:00
Chris Hamons 3bdb0e37a6 [XM] More xtro-sharpie fixes (#682) 2016-08-26 12:32:45 -05:00
Chris Hamons bc9c25de72 [XM] Add missing SafariServices binding (#681) 2016-08-26 10:30:45 -05:00
Sebastien Pouliot afd50b2bef [watchos][avfoundation] Enable AVFoundation in watchOS (#659) 2016-08-25 11:39:48 -04:00
Alex Soto 16d5d68503 [UIKit] Updated UIKit to xcode8-beta6 (#636)
Expected extrospection test failures:

- ios.unclassified:!missing-field! UIApplicationInvalidInterfaceOrientationException not bound

Generator bugs:

- HACK: We have a generator bug(?) that won't allow overloads (AmbiguousMatchException) in protocols

tvOS/iOS 9 Introspection Expected failures (UIKit Only):

- [FAIL] UIKit.UIContentSizeCategoryExtensions.UIContentSizeCategoryUnspecified
Generated enum extensions do not honor availability on NSString properties

API Diff, expected changes (verified and correct):

Type Changed: UIKit.UIContentSizeCategory

Modified fields:

	ExtraExtraExtraLarge = 6 7
	ExtraExtraLarge = 5 6
	ExtraLarge = 4 5
	ExtraSmall = 0 1
	Large = 3 4
	Medium = 2 3
	Small = 1 2

Added values:

	AccessibilityExtraExtraExtraLarge = 12,
	AccessibilityExtraExtraLarge = 11,
	AccessibilityExtraLarge = 10,
	AccessibilityLarge = 9,
	AccessibilityMedium = 8,
	Unspecified = 0,
2016-08-22 08:44:43 -04:00
Sebastien Pouliot df7f604aad [tests] Update xtro data files to get more accurate results (#630) 2016-08-18 22:02:42 -04:00
Chris Hamons b54bcd6ae0 [XM] Fix xtro-sharpie issues (#620) 2016-08-17 20:11:05 -04:00
Sebastien Pouliot 9fb98d9297 [watchos][gamekit] Add missing API and adjust xtro data files for deprecations (#595)
reference (missing)
!missing-selector! +GKAchievement::reportAchievements:withCompletionHandler: not bound
2016-08-10 13:16:10 -04:00
Sebastien Pouliot b184973b96 [watchos][cloudkit] Complete support of CloudKit on watchOS (#578)
Also apply fixes based on xtro results. Most of them are likely because the iOS frameworks contains out-dated headers wrt watchOS.

references:

* Missing fields /API
!missing-field! CKShareThumbnailImageDataKey not bound
!missing-field! CKShareTitleKey not bound
!missing-field! CKShareTypeKey not bound
!missing-selector! CKContainer::acceptShareMetadata:completionHandler: not bound
!missing-selector! CKContainer::fetchShareMetadataWithURL:completionHandler: not bound

* tvOS: enabled
!missing-selector! CKNotificationInfo::setShouldSendContentAvailable: not bound
!missing-selector! CKNotificationInfo::shouldSendContentAvailable not bound

* watchOS: xtro fixes for additions/removal in the same release
!missing-type! CKFetchRecordChangesOperation not bound
!missing-type! CKDiscoverAllContactsOperation not bound
!missing-type! CKDiscoverUserInfosOperation not bound
!missing-type! CKDiscoveredUserInfo not bound
!missing-selector! CKContainer::discoverAllContactUserInfosWithCompletionHandler: not bound
!missing-selector! CKContainer::discoverUserInfoWithEmailAddress:completionHandler: not bound
!missing-selector! CKContainer::discoverUserInfoWithUserRecordID:completionHandler: not bound

* watchOS: missing [NoWatch] on some types
!unknown-native-enum! CKQuerySubscriptionOptions bound
!unknown-native-enum! CKSubscriptionOptions bound
!unknown-native-enum! CKSubscriptionType bound
!unknown-type! CKDatabaseSubscription bound
!unknown-type! CKNotificationInfo bound
!unknown-type! CKQuerySubscription bound
!unknown-type! CKRecordZoneSubscription bound
!unknown-type! CKSubscription bound
2016-08-10 08:57:28 -04:00
Sebastien Pouliot 69c1bddf23 [watchos][healthkit] Add entries to xtro to cover the two remaining special cases (#580) 2016-08-09 15:39:36 -04:00
Sebastien Pouliot 21891ea3bc [spritekit] Replace incorrect TV (it's TVOS) condition to fix SKNode (#569)
references:
!missing-protocol-conformance! SKNode should conform to UIFocusItem
!wrong-base-type! SKNode expected UIResponder actual NSObject
2016-08-08 11:51:25 -04:00
Sebastien Pouliot 921b254adc [watchos][scenekit] Enable SceneKit on watchOS (#563)
* Enable some SceneKit-related WatchKit API
* Enable some SceneKit-related SpriteKit API
* Enable some SceneKit-related Foundation API
* Fix generator to include `using SceneKit;` on watchOS
* Adjust xtro tests since watchOS headers include some stuff that's not available in reality
* Lots of [Watch (3,0)] attributes
2016-08-06 10:59:16 -04:00
Alex Soto 58a0e6136a [Scenekit] Update SceneKit to Xcode8 Beta 4 (#552)
* Fixed reports of xtro tests
* Fixed some members that are @required members of an existing protocol (XAMCORE_4_0)
* Added some new typo fixes to Intrespection tests
* Fixed SCNNode.EnumerateChildNodes delegate signature
2016-08-05 08:23:02 -04:00
Sebastien Pouliot eab578af88 [callkit] Update for beta 4 (#531) 2016-08-02 21:13:54 -04:00
Sebastien Pouliot afe6c788a2 [tests][xtro] Update some data files (#496) 2016-07-26 15:58:52 -04:00
Vincent Dondain edbc04b720 [homekit] Add iOS 10 beta 2 missing bindings (#481)
- Made an API available for tvOS.
- Annotated ios.pending with things already bound.
2016-07-25 15:03:11 -04:00
Sebastien Pouliot d8d1fff94a [tvos][photos] Decorate API with [TV (10,0)] (#478)
xtro results do not show any missing/extra API
2016-07-25 11:38:25 -04:00
Sebastien Pouliot 1190aac04c [tvos][externalaccessory] Enable framework on platform (#470)
* Enable ExternalAccessory for tvOS and teach the static registrar about the lack of simulator headers.
2016-07-24 10:44:19 -04:00
Sebastien Pouliot 5a9d8240c2 [watchos][gamekit] Enable GameKit on watchOS (#452)
Apple does not (yet?) ship the headers for GameKit on the watch simulator (radar [1]). The static registrar was tweaked to skip this on the simulator.

[1] https://trello.com/c/Okdw58IO/51-27476259-gamekit-header-files-are-missing-for-watchsimulator
2016-07-22 13:35:59 -04:00
Alex Soto 958861869c [UserNotifications] Fix xtro test results and bug in UNNotificationResponse (#455)
* ActionIdentifier from UNNotificationResponse class can be
  a NSString defined in UNNotificationActionIdentifier but can
  also be a custom defined identifier so we can't really strong type it
* Renamed enums to use the same name as defined in the header because
  we don't really know how this framework will evolve over time
  and there is a chance that the current naming can create confusion
  in the long run so we play safe here
2016-07-22 08:11:28 -04:00
Alex Soto c27c86e03d [CallKit] Fix xtro test issues (#454) 2016-07-22 08:09:48 -04:00
Alex Soto 329648c08c Merge pull request #453 from dalexsoto/intents
[Intents] Fix xtro tests feedback
2016-07-21 13:49:57 -05:00
Sebastien Pouliot 7637658e28 Merge branch 'cycle8' into xcode8 2016-07-21 11:40:41 -04:00
Sebastien Pouliot 72d0658344 [security][tvos] Remove SecSharedCredential API (#457)
Xcode8 SDK (for tvOS 10) marked those API with __TVOS_UNAVAILABLE making
them only available on iOS.

Since the API are not yet released in stable (C8) so we can removing
them  proactively. It will be easier to add them back later (if the
situation change) than removing/obsoleting them.
2016-07-21 11:37:28 -04:00
Sebastien Pouliot 413b5c2a88 [security][tvos] Remove SecSharedCredential API (#457)
Xcode8 SDK (for tvOS 10) marked those API with __TVOS_UNAVAILABLE making
them only available on iOS.

Since the API are not yet released in stable (C8) so we can removing
them  proactively. It will be easier to add them back later (if the
situation change) than removing/obsoleting them.
2016-07-21 11:30:19 -04:00
Alex Soto e207c6a6b9 [Intents] Fix xtro tests feedback
* Fixed macOS availability attributes where it made sense
* Added inconclusive members to mac.pending and opened radar://27463602
  https://trello.com/c/BPdUlTlg about it
* iOS xtro reported members that got deprecated and introduced on iOS 10
  so added that to pending and those members are not bound
2016-07-20 22:02:14 -05:00
Sebastien Pouliot 52ffb2b251 Merge branch 'cycle8' into xcode8 2016-07-18 14:34:12 -04:00
Vincent Dondain b62ecd5348 [xtro-sharpie] Use default mono in Makefile (#407) 2016-07-15 13:52:40 -04:00
Vincent Dondain 4ee02eb6b1 [xtro-sharpie] Use default mono in Makefile (#407) 2016-07-15 13:20:52 -04:00
Sebastien Pouliot d824ac9396 [watchconnectivity] Small update for iOS 10 beta 1 (#290)
WCSessionDelegate members added in iOS 9.3 were turned into **required**
members in iOS 10 (beta 1). That's a breaking change so it's only enabled
for XAMCORE_4_0
2016-06-28 11:19:45 -04:00
Sebastien Pouliot 99a8da2359 [tests][xtro] Add CVOptionFlags == uint64_t to avoid a NIE processing macOS 10.12 headers (#288) 2016-06-27 17:18:30 -04:00
Sebastien Pouliot 35c376a374 [gamecontroller] Update for iOS 10 beta 1 (#276)
The API for the AppleTV controller was added to iOS 10
2016-06-26 10:04:55 -04:00
Sebastien Pouliot 0ec3263eab [quicklook] Add new bindings for iOS 10 beta 1 (#272)
Also fixed QLPreviewItem::previewItemTitle (not required) for XAMCORE_4_0

reference:
!incorrect-protocol-member! QLPreviewItem::previewItemTitle is OPTIONAL and should NOT be abstract
2016-06-26 10:04:20 -04:00
Sebastien Pouliot 278b760983 [replaykit] Add new bindings for iOS 10 beta 1 (#270) 2016-06-24 12:18:04 -04:00
Rolf Bjarne Kvinge 4a714f3c43 Make logic not depend on the checkout directory being named 'xamarin-macios'. (#129) 2016-06-06 12:18:52 +02:00
Rolf Bjarne Kvinge ecfdea9508 [tests] Import 2016-05-26 15:06:52 +02:00