* [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
This commit is contained in:
Sebastien Pouliot 2017-09-15 17:53:16 -04:00 коммит произвёл GitHub
Родитель c6701aa0a1
Коммит 91a53f73f2
500 изменённых файлов: 35994 добавлений и 2627 удалений

Просмотреть файл

@ -17,6 +17,7 @@ PACKAGE_HEAD_REV=$(shell git rev-parse HEAD)
# PACKAGE_HEAD_BRANCH (set to the release branch name, this shows up in the IDE's version information, as well as mtouch/mmp --version)
# IOS_PACKAGE_VERSION (major/minor #)
# MAC_PACKAGE_VERSION (major/minor #)
# PACKAGE_VERSION_REV (set to 0 and increment for service releases or previews)
# (and updating the same on master as well, to next version)
#
@ -36,21 +37,23 @@ else
CURRENT_BRANCH:=$(PACKAGE_HEAD_BRANCH)
endif
# for service releases and previews
PACKAGE_VERSION_REV=9
IOS_PRODUCT=Xamarin.iOS
IOS_PACKAGE_NAME=Xamarin.iOS
IOS_PACKAGE_NAME_LOWER=$(shell echo $(IOS_PACKAGE_NAME) | tr "[:upper:]" "[:lower:]")
# NEVER customize IOS_PACKAGE_VERSION itself, other parts (mtouch, web updater) are using the IOS_PACKAGE_VERSION_* variables
IOS_PACKAGE_VERSION=10.14.0.$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION=11.2.0.$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_VERSION_MAJOR=$(word 1, $(subst ., ,$(IOS_PACKAGE_VERSION)))
IOS_PACKAGE_VERSION_MINOR=$(word 2, $(subst ., ,$(IOS_PACKAGE_VERSION)))
IOS_PACKAGE_VERSION_REV=$(word 3, $(subst ., ,$(IOS_PACKAGE_VERSION)))
IOS_PACKAGE_VERSION_REV=0
IOS_PACKAGE_VERSION_BUILD=$(IOS_COMMIT_DISTANCE)
IOS_PACKAGE_UPDATE_ID=$(shell printf "2%02d%02d%02d%03d" $(IOS_PACKAGE_VERSION_MAJOR) $(IOS_PACKAGE_VERSION_MINOR) $(IOS_PACKAGE_VERSION_REV) $(IOS_PACKAGE_VERSION_BUILD))
# Xcode 8.3
XCODE_VERSION=8.3
XCODE_URL=http://xamarin-storage/bot-provisioning/Xcode_8.3.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode83.app/Contents/Developer
XCODE_VERSION=9
XCODE_URL=http://xamarin-storage/bot-provisioning/Xcode_9_GM_seed.xip
XCODE_DEVELOPER_ROOT=/Applications/Xcode9-GM.app/Contents/Developer
# Minimum Mono version
MIN_MONO_VERSION=5.2.0.90
@ -60,7 +63,7 @@ MIN_MONO_URL=https://bosstoragemirror.blob.core.windows.net/wrench/mono-2017-04/
# Minimum Visual Studio version
MIN_VISUAL_STUDIO_URL=https://bosstoragemirror.blob.core.windows.net/wrench/monodevelop-lion-dogfood-vNext/8f/8f1c13cb983138ee63bd53e09908ea5e737988cd/VisualStudioForMac-Preview-7.0.0.2728.dmg
MIN_VISUAL_STUDIO_VERSION=7.0.0.2728
MAX_VISUAL_STUDIO_VERSION=7.1.99
MAX_VISUAL_STUDIO_VERSION=7.3.99
# Minimum CMake version
MIN_CMAKE_URL=https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.dmg
@ -71,10 +74,10 @@ MIN_OSX_BUILD_VERSION=10.12
MIN_OSX_VERSION_FOR_IOS=10.11
MIN_OSX_VERSION_FOR_MAC=10.11
IOS_SDK_VERSION=10.3
OSX_SDK_VERSION=10.12
WATCH_SDK_VERSION=3.2
TVOS_SDK_VERSION=10.2
IOS_SDK_VERSION=11.0
OSX_SDK_VERSION=10.13
WATCH_SDK_VERSION=4.0
TVOS_SDK_VERSION=11.0
MIN_IOS_SDK_VERSION=6.0
MIN_OSX_SDK_VERSION=10.7
@ -83,7 +86,7 @@ MIN_WATCH_OS_VERSION=1.0
MIN_TVOS_SDK_VERSION=9.0
INCLUDE_IOS=1
INCLUDE_MAC=1
#INCLUDE_MAC=1
INCLUDE_WATCH=1
INCLUDE_TVOS=1
INCLUDE_DEVICE=1
@ -248,10 +251,10 @@ MAC_PRODUCT=Xamarin.Mac
MAC_PACKAGE_NAME=xamarin.mac
MAC_PACKAGE_NAME_LOWER=$(shell echo $(MAC_PACKAGE_NAME) | tr "[:upper:]" "[:lower:]")
MAC_PACKAGE_VERSION=3.8.0.$(MAC_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION=3.99.$(PACKAGE_VERSION_REV).$(MAC_COMMIT_DISTANCE)
MAC_PACKAGE_VERSION_MAJOR=$(word 1, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_MINOR=$(word 2, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_REV=$(word 3, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_REV=$(PACKAGE_VERSION_REV)
MAC_PACKAGE_VERSION_BUILD=$(word 4, $(subst ., ,$(MAC_PACKAGE_VERSION)))
MAC_PACKAGE_VERSION_MAJOR_MINOR=$(MAC_PACKAGE_VERSION_MAJOR).$(MAC_PACKAGE_VERSION_MINOR)
MAC_PACKAGE_UPDATE_ID=$(shell echo $(subst ., ,$(MAC_PACKAGE_VERSION).$(MAC_PACKAGE_VERSION_BUILD)) | awk '{printf "2%02d%02d%02d%03d",$$1,$$2,$$3,$$4}')

Просмотреть файл

@ -142,4 +142,3 @@ We use [Mono's Coding Guidelines](http://www.mono-project.com/community/contribu
### Reporting Bugs
We use [Bugzilla](https://bugzilla.xamarin.com/newbug) to track issues.

Просмотреть файл

@ -23,6 +23,7 @@
<string>10.1</string>
<string>10.2</string>
<string>10.3</string>
<string>11.0</string>
</array>
<key>tvOS</key>
<array>
@ -32,6 +33,7 @@
<string>10.0</string>
<string>10.1</string>
<string>10.2</string>
<string>11.0</string>
</array>
<key>watchOS</key>
<array>
@ -42,6 +44,7 @@
<string>3.0</string>
<string>3.1</string>
<string>3.2</string>
<string>4.0</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>

Просмотреть файл

@ -12,6 +12,7 @@
<string>10.10</string>
<string>10.11</string>
<string>10.12</string>
<string>10.13</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>

Просмотреть файл

@ -48,9 +48,18 @@ endif
# so disable 'readlinkat' by setting using ac_cv_func_readlinkat=no
# these can be removed when our min ios/osx version (at runtime) is macOS 10.10+ or iOS 8+
# ld: weak import of symbol '_futimens' not supported because of option: -no_weak_imports for architecture x86_64
# ld: weak import of symbol '_utimensat' not supported because of option: -no_weak_imports for architecture x86_64
# headers say these methods were introduced in 10.13:
# usr/include/sys/stat.h:int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
# int utimensat(int __fd, const char *__path, const struct timespec __times[2], int __flag) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0));
# so disable 'futimens' and 'utimensat'
COMMON_ACVARS = \
ac_cv_func_fstatat=no \
ac_cv_func_readlinkat=no \
ac_cv_func_futimens=no \
ac_cv_func_utimensat=no \
COMMON_LDFLAGS=-Wl,-no_weak_imports
@ -796,6 +805,7 @@ SIM_ACVARS = \
$(COMMON_ACVARS) \
ac_cv_func_clock_nanosleep=no \
mono_cv_uscore=yes \
ac_cv_func_system=no \
define SimulatorBuildTemplate
@ -989,7 +999,9 @@ WATCHSIMULATOR_ACVARS = \
ac_cv_func_execv=no \
ac_cv_func_execve=no \
ac_cv_func_execvp=no \
ac_cv_func_signal=no
ac_cv_func_signal=no \
ac_cv_func_futimens=no \
ac_cv_func_utimensat=no \
WATCHSIMULATOR_ENVIRONMENT = \
$(WATCHSIMULATOR_ACVARS) \
@ -1139,7 +1151,9 @@ TVSIMULATOR_ACVARS = \
ac_cv_func_execv=no \
ac_cv_func_execve=no \
ac_cv_func_execvp=no \
ac_cv_func_signal=no
ac_cv_func_signal=no \
ac_cv_func_futimens=no \
ac_cv_func_utimensat=no \
TVSIMULATOR_ENVIRONMENT = \
$(TVSIMULATOR_ACVARS) \
@ -1843,6 +1857,7 @@ endif
LLVM_BASE_CONFIGURE_FLAGS=--enable-libcpp --enable-optimized --enable-assertions=no --disable-jit --disable-docs --disable-doxygen
LLVM_CXXFLAGS=$(CCACHE_CXXFLAGS)
LLVM_BASE_CONFIGURE_ENVIRONMENT=$(COMMON_ACVARS)
# This is used just for linking with the 32 bit cross compiler
# FIXME: Avoid building the libs not needed by mono
@ -1850,6 +1865,7 @@ LLVM_CXXFLAGS=$(CCACHE_CXXFLAGS)
@mkdir -p llvm/
@echo "Configuring llvm"
@cd llvm && \
$(LLVM_BASE_CONFIGURE_ENVIRONMENT) \
$(abspath $(LLVM_PATH)/configure) --prefix=$$PWD/usr --build=i386-apple-darwin10.7 --enable-targets="arm" $(LLVM_BASE_CONFIGURE_FLAGS) --cache-file=../llvm.config.cache CC="$(CCACHE)clang" CXX="$(CCACHE)clang++" CXXFLAGS="$(LLVM_CXXFLAGS)" > $@.log 2>&1 || (echo "Configuring llvm failed:" && cat $@.log | sed "s/^/ /" && exit 1)
$(Q) @touch $@
@echo Configured llvm
@ -1858,6 +1874,7 @@ LLVM_CXXFLAGS=$(CCACHE_CXXFLAGS)
@mkdir -p llvm64/
@echo "Configuring llvm64"
@cd llvm64 && \
$(LLVM_BASE_CONFIGURE_ENVIRONMENT) \
$(abspath $(LLVM_PATH)/configure) --prefix=$$PWD/usr --enable-targets="arm arm64" $(LLVM_BASE_CONFIGURE_FLAGS) --cache-file=../llvm64.config.cache CC="$(CCACHE)clang" CXX="$(CCACHE)clang++" CXXFLAGS="-Qunused-arguments" > $@.log 2>&1 || (echo "Configuring llvm64 failed:" && cat $@.log | sed "s/^/ /" && exit 1)
$(Q) @touch $@
@echo "Configured llvm64"

Просмотреть файл

@ -557,6 +557,18 @@ linker. This will most likely result in native linker errors.
The solution is to remove the `--dynamic-symbol-mode=linker` argument from the additional mtouch arguments in the project's Build options.
<h3><a name="MT0116"/>MT0116: Invalid architecture: {arch}. 32-bit architectures are not supported when deployment target is 11 or later. Make sure the project does not build for a 32-bit architecture.</h3>
iOS 11 does not contain support for 32-bit applications, so it's not supported
to build for a 32-bit application when the deployment target is iOS 11 or
later.
Either change the target architecture in the project's iOS build options to
arm64, or change the deployment target in the project's Info.plist to an
earlier iOS version.
<h3><a name="MT0117"/>MT0117: Can't launch a 32-bit app on a simulator that only supports 64-bit.</h3>
<!-- 0116 - 0124: free to use -->
<h3><a name="MT0125"/>MT0125: The --assembly-build-target command-line argument is ignored in the simulator.</h3>

2
external/Touch.Unit поставляемый

@ -1 +1 @@
Subproject commit de9fe207795376682f0939f37e2476bd38ad3efd
Subproject commit 8f1e19d731c7490993e5b25aaa2fc340498079b5

Просмотреть файл

@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="no" method='text'/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="//test-suite[@type='TestFixture']">
<xsl:text>&#10;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
<xsl:for-each select="current()/results/test-case">
<xsl:choose>
<xsl:when test="@result='Success'">
<xsl:text> [PASS] </xsl:text>
</xsl:when>
<xsl:when test="@result='Failure' or @result='Error'">
<xsl:text> [FAIL] </xsl:text>
</xsl:when>
<xsl:when test="@result='Ignored'">
<xsl:text> [IGNORED] </xsl:text>
</xsl:when>
<xsl:when test="@result='Inconclusive'">
<xsl:text> [INCONCLUSIVE] </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text> [INFO] </xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="../../@name"/><xsl:text>.</xsl:text><xsl:value-of select="@name"/><xsl:if test="failure/message != ''"> : </xsl:if><xsl:value-of select="failure/message"/><xsl:text>&#10;</xsl:text>
<xsl:if test="failure/stack-trace != ''">
<xsl:value-of select="failure/stack-trace"/>
<xsl:text>&#10;</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:choose>
<xsl:when test="@time">
<xsl:value-of select="concat(@name,' : ', @time)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@name"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="//test-suite[@type!='TestFixture']/failure/message">
</xsl:template>
</xsl:stylesheet>

Просмотреть файл

@ -1,5 +1,5 @@
ifdef ENABLE_XAMARIN
NEEDED_MACCORE_VERSION := b4413efc991b853846e142929211b6e519b8672d
NEEDED_MACCORE_VERSION := e2f9a1744d8fb3dd8012ce48585d76d60dfc512e
NEEDED_MACCORE_BRANCH := d15-4-xi
MACCORE_DIRECTORY := maccore

Просмотреть файл

@ -1856,7 +1856,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
</ItemGroup>
</Target>
<Target Name="_CodesignAppBundle" Condition="'$(_RequireCodeSigning)' == 'true' And ('$(IsAppExtension)' == 'false' Or '@(_ResolvedAppExtensionReferences)' != '')" DependsOnTargets="$(_CodesignAppBundleDependsOn)"
<Target Name="_CodesignAppBundle" Condition="('$(_CanOutputAppBundle)' == 'true' And '$(_CodeSigningKey)' != '') And ('$(IsAppExtension)' == 'false' Or '@(_ResolvedAppExtensionReferences)' != '')" DependsOnTargets="$(_CodesignAppBundleDependsOn)"
Inputs="@(_CodesignAppBundleInputs)" Outputs="$(_AppBundlePath)_CodeSignature\CodeResources">
<PropertyGroup>

Просмотреть файл

@ -18,6 +18,8 @@
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>

Просмотреть файл

@ -18,6 +18,8 @@
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>

Просмотреть файл

@ -15,7 +15,7 @@
<key>UIMainStoryboardFile</key>
<string>MainStoryboard</string>
<key>MinimumOSVersion</key>
<string>6.1</string>
<string>7.0</string>
<key>CFBundleDisplayName</key>
<string>ApplicationName</string>
<key>CFBundleIdentifier</key>

Просмотреть файл

@ -18,6 +18,8 @@
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>MinimumOSVersion</key>
<string>8.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>

Просмотреть файл

@ -36,6 +36,7 @@ namespace Xamarin.iOS.Tasks
"LaunchImage-568h@2x.png",
"LaunchImage.png",
"LaunchImage@2x.png",
"Assets.car",
};
return files.Select (s => Path.Combine (AppBundlePath, s)).ToArray ();
}
@ -435,7 +436,7 @@ namespace Xamarin.iOS.Tasks
var path = Path.Combine (MonoTouchProjectPath, "Info.plist");
var plist = PDictionary.FromFile (path);
plist.SetMinimumOSVersion ("6.1");
plist.SetMinimumOSVersion ("7.0");
plist.Save (path, true);
RunTarget (MonoTouchProject, TargetName.CollectBundleResources);
@ -480,7 +481,7 @@ namespace Xamarin.iOS.Tasks
// Start without app icon.
plist.Remove("XSAppIconAssets");
plist.SetMinimumOSVersion ("6.1");
plist.SetMinimumOSVersion ("7.0");
plist.Save (path, true);
RunTarget (project, TargetName.CompileImageAssets);

Просмотреть файл

@ -41,7 +41,7 @@ Delegates.generated.cs: Delegates.cs.t4 delegates.t4
$(Q_GEN) $(TT) $< -o $@
bindings-generator.exe: bindings-generator.cs
$(Q) $(SYSTEM_MCS) $< -o:$@
$(Q) $(SYSTEM_MCS) $< -o:$@ -debug:full
bindings-generated.m: bindings-generator.exe
$(Q_GEN) $(SYSTEM_MONO) --debug $< $@

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -6,7 +6,7 @@
<ProjectGuid>{6B616492-49F0-43EF-8390-F9D1B4CCC632}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>zzg</RootNamespace>
<AssemblyName>zzg</AssemblyName>
<AssemblyName>bindings-generator</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
@ -21,7 +21,6 @@
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<ConsolePause>false</ConsolePause>
<Commandlineparameters>/work/maccore/xcode7/maccore/bindings-generated.m</Commandlineparameters>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>full</DebugType>
@ -32,6 +31,10 @@
<Externalconsole>true</Externalconsole>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(RunConfiguration)' == 'Default' ">
<StartAction>Project</StartAction>
<StartArguments>${ProjectDir}/bindings-generated.m</StartArguments>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
</ItemGroup>

Просмотреть файл

@ -2,6 +2,7 @@
#define __BINDINGS_H__
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#include <objc/objc.h>
#include <objc/runtime.h>
#include <objc/message.h>
@ -82,6 +83,11 @@ typedef __attribute__((__ext_vector_type__(4))) float vector_float4;
typedef struct { vector_float2 columns[2]; } matrix_float2x2;
typedef struct { vector_float3 columns[3]; } matrix_float3x3;
typedef struct { vector_float4 columns[4]; } matrix_float4x4;
typedef struct { vector_float3 columns[4]; } matrix_float4x3;
typedef struct { vector_double4 columns[4]; } matrix_double4x4;
typedef struct { vector_float4 vector; } simd_quatf;
typedef struct {
vector_float3 maxBounds;
@ -102,6 +108,20 @@ typedef struct {
vector_float3 points[3];
} GKTriangle;
typedef struct
{
NSUInteger numberOfHistogramEntries;
BOOL histogramForAlpha;
vector_float4 minPixelValue;
vector_float4 maxPixelValue;
} MPSImageHistogramInfo;
typedef vector_int4 MDLVoxelIndex;
typedef struct {
MDLVoxelIndex minimumExtent;
MDLVoxelIndex maximumExtent;
} MDLVoxelIndexExtent;
/*
* iOS has a vector type (vector_float3) which can't be expressed
* in P/Invoke signatures, so we need custom wrappers.
@ -141,14 +161,39 @@ struct Matrix2f {
Vector2f columns [2];
};
struct NMatrix2 {
Vector2f columns [2];
};
struct Matrix3f {
Vector3f columns [3];
};
struct NMatrix3 {
Vector4f columns [3];
};
struct Matrix4f {
Vector4f columns [4];
};
struct NMatrix4 {
Vector4f columns [4];
};
struct NMatrix4d {
Vector4d columns [4];
};
struct NMatrix4x3 {
// Use Vector4f here, since the managed version has padding to match accordingly.
Vector4f columns [4];
};
struct QuatF {
Vector4f vector;
};
struct MDLAxisAlignedBoundingBoxWrapper {
Vector3f maxBounds;
Vector3f minBounds;
@ -168,6 +213,32 @@ struct GKTriangleWrapper {
Vector3f points [3];
};
struct MPSImageHistogramInfoWrapper {
NSUInteger numberOfHistogramEntries;
BOOL histogramForAlpha;
// The minPixelValue field starts at offset 16, but we can't use
// __attribute__ ((aligned (16))), because that will make clang align the
// entire struct on a 16-byte boundary, which doesn't match how we've
// defined it in managed code (explicit layout, but no specific alignment).
// So we need to manually pad the struct to match the managed definition.
#if defined (__x86_64__) || defined (__arm64__)
uint8_t dummy[7];
#else
uint8_t dummy[11];
#endif
Vector4f minPixelValue;
Vector4f maxPixelValue;
};
typedef Vector4i MDLVoxelIndexWrapper;
struct MDLVoxelIndexExtentWrapper {
MDLVoxelIndexWrapper minimumExtent;
MDLVoxelIndexWrapper maximumExtent;
};
static_assert (sizeof (MPSImageHistogramInfoWrapper) == sizeof (MPSImageHistogramInfo), "Sizes aren't equal");
struct Vector4f xamarin_vector_float3__Vector4_objc_msgSend (id self, SEL sel);
void xamarin_vector_float3__Vector4_objc_msgSend_stret (struct Vector4f *v4, id self, SEL sel);
void xamarin_vector_float3__void_objc_msgSend_Vector4 (id self, SEL sel, struct Vector4f p0);
@ -185,6 +256,8 @@ void xamarin_vector_float3__Vector3_objc_msgSendSuper_stret (struct
void xamarin_vector_float3__void_objc_msgSendSuper_Vector3 (struct objc_super *super, SEL sel, struct Vector3f p0);
void xamarin_vector_float3__Vector3_objc_msgSendSuper_stret_Vector3 (struct Vector3f *v3, struct objc_super *super, SEL sel, struct Vector3f p0);
struct Vector3f xamarin_vector_float3__Vector3_objc_msgSendSuper_Vector3 (struct objc_super *super, SEL sel, struct Vector3f p0);
CGPoint xamarin_CGPoint__VNNormalizedFaceBoundingBoxPointForLandmarkPoint_Vector2_CGRect_nuint_nuint_string (struct Vector2f faceLandmarkPoint, CGRect faceBoundingBox, xm_nuint_t imageWidth, xm_nuint_t imageHeight, const char **error_msg);
CGPoint xamarin_CGPoint__VNImagePointForFaceLandmarkPoint_Vector2_CGRect_nuint_nuint_string (struct Vector2f faceLandmarkPoint, CGRect faceBoundingBox, xm_nuint_t imageWidth, xm_nuint_t imageHeight, const char **error_msg);
#ifndef XAMCORE_2_0
#ifdef MONOMAC

Просмотреть файл

@ -11,6 +11,7 @@
*/
#include "bindings.h"
#include <dlfcn.h>
/*
* Hand-written bindings to support ObjectiveC exceptions.
@ -88,3 +89,67 @@ void * monotouch_IntPtr_objc_msgSendSuper_IntPtr (struct objc_super *super, SEL
#endif
#endif
/*
* Vector c bindings
*
* The following code uses dlsym to not have a linking dependency on Xcode 9,
* the code can be simplified once we require to remove dlsym or xcode 9 becomes the minimum supported version
*/
typedef CGPoint (*vision_func) (vector_float2 faceLandmarkPoint, CGRect faceBoundingBox, size_t imageWidth, size_t imageHeight);
CGPoint
xamarin_CGPoint__VNNormalizedFaceBoundingBoxPointForLandmarkPoint_Vector2_CGRect_nuint_nuint_string (struct Vector2f faceLandmarkPoint, CGRect faceBoundingBox, xm_nuint_t imageWidth, xm_nuint_t imageHeight, const char **error_msg) {
static vision_func func = NULL;
*error_msg = NULL;
if (func == NULL) {
void *vision_handle = dlopen ("/System/Library/Frameworks/Vision.framework/Vision", RTLD_LAZY);
if (vision_handle == NULL) {
*error_msg = "Could not open Vision Framework";
return CGPointMake (0, 0);
}
func = (vision_func) dlsym (vision_handle, "VNNormalizedFaceBoundingBoxPointForLandmarkPoint");
if (func == NULL) {
*error_msg = "Could not obtain the address for VNNormalizedFaceBoundingBoxPointForLandmarkPoint";
return CGPointMake (0, 0);
}
}
vector_float2 flp;
flp [0] = faceLandmarkPoint.a;
flp [1] = faceLandmarkPoint.b;
return func (flp, faceBoundingBox, imageWidth, imageHeight);
}
CGPoint
xamarin_CGPoint__VNImagePointForFaceLandmarkPoint_Vector2_CGRect_nuint_nuint_string (struct Vector2f faceLandmarkPoint, CGRect faceBoundingBox, xm_nuint_t imageWidth, xm_nuint_t imageHeight, const char **error_msg) {
static vision_func func = NULL;
*error_msg = NULL;
if (func == NULL) {
void *vision_handle = dlopen ("/System/Library/Frameworks/Vision.framework/Vision", RTLD_LAZY);
if (vision_handle == NULL) {
*error_msg = "Could not open Vision Framework";
return CGPointMake (0, 0);
}
func = (vision_func) dlsym (vision_handle, "VNImagePointForFaceLandmarkPoint");
if (func == NULL) {
*error_msg = "Could not obtain the address for VNImagePointForFaceLandmarkPoint";
return CGPointMake (0, 0);
}
}
vector_float2 flp;
flp [0] = faceLandmarkPoint.a;
flp [1] = faceLandmarkPoint.b;
return func (flp, faceBoundingBox, imageWidth, imageHeight);
}

Просмотреть файл

@ -71,7 +71,8 @@
new XDelegate ("MethodDescription", "UnmanagedMethodDescription", "xamarin_get_method_for_selector",
"Class", "IntPtr", "cls",
"SEL", "IntPtr", "sel"
"SEL", "IntPtr", "sel",
"bool", "bool", "is_static"
) { WrappedManagedFunction = "GetMethodForSelector" },
new XDelegate ("MonoObject *", "IntPtr", "xamarin_get_nsobject",
@ -140,6 +141,7 @@
new XDelegate ("MethodDescription", "UnmanagedMethodDescription", "xamarin_get_method_and_object_for_selector",
"Class", "IntPtr", "cls",
"SEL", "IntPtr", "sel",
"bool", "bool", "is_static",
"id", "IntPtr", "obj",
"MonoObject **", "ref IntPtr", "mthis"
) { WrappedManagedFunction = "GetMethodAndObjectForSelector" },

Просмотреть файл

@ -1119,7 +1119,7 @@ xamarin_initialize_embedded ()
Dl_info info;
if (dladdr ((void *) xamarin_initialize_embedded, &info) != 0) {
char *last_sep = strrchr (info.dli_fname, '/');
const char *last_sep = strrchr (info.dli_fname, '/');
if (last_sep == NULL) {
libname = strdup (info.dli_fname);
} else {

Просмотреть файл

@ -88,9 +88,9 @@ xamarin_invoke_trampoline (enum TrampolineType type, id self, SEL sel, iterator_
int mofs = 0;
if (is_ctor || is_static) {
desc = xamarin_get_method_for_selector ([self class], sel, &exception_gchandle);
desc = xamarin_get_method_for_selector ([self class], sel, is_static, &exception_gchandle);
} else {
desc = xamarin_get_method_and_object_for_selector ([self class], sel, self, &mthis, &exception_gchandle);
desc = xamarin_get_method_and_object_for_selector ([self class], sel, is_static, self, &mthis, &exception_gchandle);
}
if (exception_gchandle != 0)
goto exception_handling;

Просмотреть файл

@ -225,7 +225,7 @@ MonoObject* xamarin_get_class (Class ptr, guint32 *exception_gchandle)
MonoObject* xamarin_get_selector (SEL ptr, guint32 *exception_gchandle);
Class xamarin_get_class_handle (MonoObject *obj, guint32 *exception_gchandle);
SEL xamarin_get_selector_handle (MonoObject *obj, guint32 *exception_gchandle);
MethodDescription xamarin_get_method_for_selector (Class cls, SEL sel, guint32 *exception_gchandle);
MethodDescription xamarin_get_method_for_selector (Class cls, SEL sel, bool is_static, guint32 *exception_gchandle);
bool xamarin_has_nsobject (id obj, guint32 *exception_gchandle);
MonoObject* xamarin_get_nsobject (id obj, guint32 *exception_gchandle);
id xamarin_get_handle_for_inativeobject (MonoObject *obj, guint32 *exception_gchandle);
@ -239,7 +239,7 @@ MonoObject* xamarin_get_nsobject_with_type (id obj, void *type, int32_t *
void xamarin_dispose (MonoObject *mobj, guint32 *exception_gchandle);
bool xamarin_is_parameter_transient (MonoReflectionMethod *method, int parameter /* 0-based */, guint32 *exception_gchandle);
bool xamarin_is_parameter_out (MonoReflectionMethod *method, int parameter /* 0-based */, guint32 *exception_gchandle);
MethodDescription xamarin_get_method_and_object_for_selector (Class cls, SEL sel, id self, MonoObject **mthis, guint32 *exception_gchandle);
MethodDescription xamarin_get_method_and_object_for_selector (Class cls, SEL sel, bool is_static, id self, MonoObject **mthis, guint32 *exception_gchandle);
guint32 xamarin_create_product_exception_for_error (int code, const char *message, guint32 *exception_gchandle);
#ifdef __cplusplus

2
src/.gitignore поставляемый
Просмотреть файл

@ -11,3 +11,5 @@ xammac.csproj
xamtvos.csproj
xamwatch.csproj
generator-ikvm.csproj
~.pmcs-*
*~

43
src/ARKit/ARPointCloud.cs Normal file
Просмотреть файл

@ -0,0 +1,43 @@
//
// ARPointCloud.cs: Nicer code for ARPointCloud
//
// Authors:
// Vincent Dondain <vidondai@microsoft.com>
//
// Copyright 2017 Microsoft Inc. All rights reserved.
//
#if XAMCORE_2_0
using System;
using System.Runtime.InteropServices;
using Vector3 = global::OpenTK.NVector3;
namespace XamCore.ARKit {
public partial class ARPointCloud {
public unsafe Vector3 [] Points {
get {
var count = (int)Count;
var rv = new Vector3 [count];
var ptr = (Vector3 *) GetRawPoints ();
for (int i = 0; i < count; i++)
rv [i] = *ptr++;
return rv;
}
}
public unsafe ulong [] Identifiers {
get {
var count = (int)Count;
var rv = new ulong [count];
var ptr = (ulong*)GetRawIdentifiers ();
for (int i = 0; i < count; i++)
rv [i] = *ptr++;
return rv;
}
}
}
}
#endif

Просмотреть файл

@ -27,7 +27,7 @@ namespace XamCore.AVFoundation {
}
#if !XAMCORE_4_0
[Obsolete ("Use the overload with a `INSUrlSessionDelegate` parameter.")]
[Obsolete ("Use the overload with a 'INSUrlSessionDelegate' parameter.")]
public new static NSUrlSession FromConfiguration (NSUrlSessionConfiguration configuration, NSUrlSessionDelegate sessionDelegate, NSOperationQueue delegateQueue)
{
throw new NotSupportedException ("NS_UNAVAILABLE");

Просмотреть файл

@ -14,7 +14,7 @@ namespace XamCore.AVFoundation {
#if !XAMCORE_2_0
partial class AVAssetResourceLoadingDataRequest {
[Obsolete ("Type is not meant to be created by user code")]
[Obsolete ("Type is not meant to be created by user code.")]
public AVAssetResourceLoadingDataRequest ()
{
}
@ -24,7 +24,7 @@ namespace XamCore.AVFoundation {
#if !XAMCORE_3_0
partial class AVAsset {
[Obsolete ("Use GetChapterMetadataGroups")]
[Obsolete ("Use 'GetChapterMetadataGroups'.")]
public virtual AVMetadataItem[] ChapterMetadataGroups (NSLocale forLocale, AVMetadataItem[] commonKeys)
{
return null;
@ -33,7 +33,7 @@ namespace XamCore.AVFoundation {
partial class AVAssetTrack {
[Obsolete ("Use GetAssociatedTracks")]
[Obsolete ("Use 'GetAssociatedTracks'.")]
public virtual NSString GetAssociatedTracksOfType (NSString avAssetTrackTrackAssociationType)
{
return null;
@ -42,7 +42,7 @@ namespace XamCore.AVFoundation {
partial class AVMutableCompositionTrack {
[Obsolete ("Use InsertTimeRanges overload accepting an NSValue array")]
[Obsolete ("Use 'InsertTimeRanges' overload accepting an 'NSValue' array.")]
public virtual bool InsertTimeRanges (NSValue cmTimeRanges, AVAssetTrack[] tracks, CMTime startTime, out NSError error)
{
return InsertTimeRanges (new NSValue [] { cmTimeRanges }, tracks, startTime, out error);
@ -52,7 +52,7 @@ namespace XamCore.AVFoundation {
partial class AVCaptureAudioDataOutputSampleBufferDelegate {
[Obsolete ("This member only exists for AVCaptureVideoDataOutputSampleBufferDelegate")]
[Obsolete ("This member only exists for 'AVCaptureVideoDataOutputSampleBufferDelegate'.")]
public virtual void DidDropSampleBuffer (AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection)
{
}
@ -60,7 +60,7 @@ namespace XamCore.AVFoundation {
static partial class AVCaptureAudioDataOutputSampleBufferDelegate_Extensions {
[Obsolete ("This member only exists for AVCaptureVideoDataOutputSampleBufferDelegate")]
[Obsolete ("This member only exists for 'AVCaptureVideoDataOutputSampleBufferDelegate'.")]
public static void DidDropSampleBuffer (IAVCaptureAudioDataOutputSampleBufferDelegate This, AVCaptureOutput captureOutput, CMSampleBuffer sampleBuffer, AVCaptureConnection connection)
{
}
@ -68,9 +68,17 @@ namespace XamCore.AVFoundation {
#endif
#if !XAMCORE_4_0
partial class AVCaptureInputPort {
[Obsolete ("Valid instance of this type cannot be directly created.")]
public AVCaptureInputPort ()
{
}
}
partial class AVAudioChannelLayout {
[Obsolete ("Valid instance of this type cannot be directly created")]
[Obsolete ("Valid instance of this type cannot be directly created.")]
public AVAudioChannelLayout ()
{
}
@ -78,7 +86,7 @@ namespace XamCore.AVFoundation {
partial class AVAudioConnectionPoint {
[Obsolete ("Valid instance of this type cannot be directly created")]
[Obsolete ("Valid instance of this type cannot be directly created.")]
public AVAudioConnectionPoint ()
{
}
@ -86,8 +94,8 @@ namespace XamCore.AVFoundation {
#if TVOS
// tvOS removed some types - we need to keep stubs of them for binary compatibility
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
[Obsolete ("Removed in tvOS 10.")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None)]
public class AVAssetDownloadDelegate : NSObject, IAVAssetDownloadDelegate {
public AVAssetDownloadDelegate ()
{
@ -152,13 +160,13 @@ namespace XamCore.AVFoundation {
}
}
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
[Obsolete ("Removed in tvOS 10.")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None)]
public interface IAVAssetDownloadDelegate : INativeObject, IDisposable, INSUrlSessionTaskDelegate, INSUrlSessionDelegate {
}
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
[Obsolete ("Removed in tvOS 10.")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None)]
public static class AVAssetDownloadDelegate_Extensions {
public static void DidFinishDownloadingToUrl (this IAVAssetDownloadDelegate This, NSUrlSession session, AVAssetDownloadTask assetDownloadTask, NSUrl location)
@ -177,8 +185,8 @@ namespace XamCore.AVFoundation {
}
}
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
[Obsolete ("Removed in tvOS 10.")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None)]
public class AVAssetDownloadTask : NSUrlSessionTask {
public override IntPtr ClassHandle {
@ -242,8 +250,8 @@ namespace XamCore.AVFoundation {
}
}
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
[Obsolete ("Removed in tvOS 10.")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None)]
public class AVAssetDownloadUrlSession : NSUrlSession {
public new static NSUrlSession SharedSession {
@ -280,7 +288,7 @@ namespace XamCore.AVFoundation {
throw new NotImplementedException ();
}
[Obsolete ("Use the overload with a `INSUrlSessionDelegate` parameter.")]
[Obsolete ("Use the overload with a 'INSUrlSessionDelegate' parameter.")]
public new static NSUrlSession FromConfiguration (NSUrlSessionConfiguration configuration, NSUrlSessionDelegate sessionDelegate, NSOperationQueue delegateQueue)
{
throw new NotImplementedException ();
@ -387,104 +395,6 @@ namespace XamCore.AVFoundation {
}
}
[Obsolete ("Removed in tvOS 10")]
[Deprecated (PlatformName.TvOS, 10, 0, PlatformArchitecture.None, "Removed in tvOS 10")]
public class AVAudioInputNode : AVAudioIONode, IAVAudio3DMixing, IAVAudioMixing, IAVAudioStereoMixing {
public override IntPtr ClassHandle {
get {
throw new NotImplementedException ();
}
}
public virtual float Obstruction {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual float Occlusion {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual float Pan {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual Vector3 Position {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual float Rate {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual AVAudio3DMixingRenderingAlgorithm RenderingAlgorithm {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual float ReverbBlend {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
public virtual float Volume {
get {
throw new NotImplementedException ();
}
set {
throw new NotImplementedException ();
}
}
[EditorBrowsable (EditorBrowsableState.Advanced)]
protected AVAudioInputNode (NSObjectFlag t) : base (t)
{
throw new NotImplementedException ();
}
[EditorBrowsable (EditorBrowsableState.Advanced)]
protected internal AVAudioInputNode (IntPtr handle) : base (handle)
{
}
public virtual AVAudioMixingDestination DestinationForMixer (AVAudioNode mixer, nuint bus)
{
throw new NotImplementedException ();
}
}
#endif // TVOS
#endif // !XAMCORE_4_0
}

Просмотреть файл

@ -0,0 +1,41 @@
//
// AVDepthData.cs
//
// Authors:
// Alex Soto (alexsoto@microsoft.com)
//
// Copyright 2017 Xamarin Inc.
//
#if !WATCH
using System;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
using XamCore.CoreVideo;
using XamCore.ImageIO;
namespace XamCore.AVFoundation {
public partial class AVDepthData {
public static AVDepthData Create (CGImageAuxiliaryDataInfo dataInfo, out NSError error)
{
return Create (dataInfo.Dictionary, out error);
}
public CVPixelFormatType [] AvailableDepthDataTypes {
get {
var values = WeakAvailableDepthDataTypes;
if (values == null)
return null;
var count = values.Length;
var arr = new CVPixelFormatType [count];
for (int i = 0; i < count; i++)
arr [i] = (CVPixelFormatType) values [i].UInt32Value; // CVPixelFormatType is uint.
return arr;
}
}
}
}
#endif

Просмотреть файл

@ -43,6 +43,19 @@ namespace XamCore.AVFoundation {
return FromPreset (_Preset3840x2160);
}
}
public AVOutputSettingsAssistant PresetHevc1920x1080 {
get {
return FromPreset (_PresetHevc1920x1080);
}
}
public AVOutputSettingsAssistant PresetHevc3840x2160 {
get {
return FromPreset (_PresetHevc3840x2160);
}
}
}
}

Просмотреть файл

@ -0,0 +1,46 @@
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !WATCH
using XamCore.Foundation;
using XamCore.CoreFoundation;
using XamCore.AudioToolbox;
using XamCore.ObjCRuntime;
using System;
namespace XamCore.AVFoundation {
public partial class AVPlayerLooper {
#if !XAMCORE_4_0 // This API got introduced in Xcode 8.0 binding but is not currently present nor in Xcode 8.3 or Xcode 9.0 needs research
bool loopingEnabled = true;
[Obsolete ("This selector does not exist in the header and was wrongly added.")]
public virtual bool LoopingEnabled {
get {
return loopingEnabled;
}
}
#endif
}
}
#endif // !WATCH

Просмотреть файл

@ -803,7 +803,11 @@ namespace XamCore.AVFoundation {
[TV (10, 2), Mac (10, 12, 4), iOS (10, 3), NoWatch]
public enum AVContentKeySystem {
[Field ("AVContentKeySystemFairPlayStreaming")]
FairPlayStreaming,
FairPlayStreaming = 0,
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
[Field ("AVContentKeySystemClearKey")]
AVContentKeySystemClearKey = 1,
}
// Convience enum for native string values
@ -836,5 +840,141 @@ namespace XamCore.AVFoundation {
AppleM4A = 8, // AVAssetExportPresetAppleM4A
[Field ("AVAssetExportPresetPassthrough")]
Passthrough = 9, // AVAssetExportPresetPassthrough
[iOS (11, 0), Mac (10, 13)]
[Field ("AVOutputSettingsPresetHEVC1920x1080")]
PresetHevc1920x1080 = 11,
[iOS (11, 0), Mac (10, 13)]
[Field ("AVOutputSettingsPresetHEVC3840x2160")]
PresetHevc3840x2160 = 12,
}
[TV (11,0), NoWatch, iOS (11,0)]
[Native]
public enum AVDepthDataAccuracy : nint {
Relative = 0,
Absolute = 1,
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum AVAudioEngineManualRenderingMode : nint {
Offline = 0,
Realtime = 1
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum AVAudioEngineManualRenderingStatus : nint {
Error = -1,
Success = 0,
InsufficientDataFromInputNode = 1,
CannotDoInCurrentContext = 2
}
[TV (11,0), NoWatch, Mac (10,13), iOS (11,0)]
[Native]
public enum AVAudioSessionRouteSharingPolicy : nuint {
Default = 0,
LongForm = 1,
Independent = 2
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum AVAudioPlayerNodeCompletionCallbackType : nint {
Consumed = 0,
Rendered = 1,
PlayedBack = 2
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
public enum AVAudioEngineManualRenderingError
{
InvalidMode = -80800,
Initialized = -80801,
NotRunning = -80802,
}
[NoTV, iOS (11,0)]
[NoWatch]
[Native]
public enum AVCaptureLensStabilizationStatus : nint
{
Unsupported = 0,
Off = 1,
Active = 2,
OutOfRange = 3,
Unavailable = 4
}
[NoWatch, NoTV, iOS (11,0)]
[Native]
public enum AVCaptureOutputDataDroppedReason : nint
{
None = 0,
LateData = 1,
OutOfBuffers = 2,
Discontinuity = 3,
}
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
public enum AVVideoApertureMode {
[Field ("AVVideoApertureModeCleanAperture")]
CleanAperture = 0,
[Field ("AVVideoApertureModeProductionAperture")]
ProductionAperture = 1,
[Field ("AVVideoApertureModeEncodedPixels")]
EncodedPixels = 2,
}
/*
// Enum values are present in header but missing rdar filed at: https://bugreport.apple.com/web/?problemID=34184435
[NoWatch, NoTV, NoMac, iOS (11, 0)]
public enum AVAssetDownloadedAssetEvictionPriority {
[Field ("AVAssetDownloadedAssetEvictionPriorityDefault")]
Default = 0,
[Field ("AVAssetDownloadedAssetEvictionPriorityImportant")]
Important = 1,
}
*/
[NoWatch, iOS (11, 0), TV (11,0), Mac (10,13)]
public enum AVAssetWriterInputMediaDataLocation {
[Field ("AVAssetWriterInputMediaDataLocationInterleavedWithMainMediaData")]
InterleavedWithMainMediaData = 0,
[Field ("AVAssetWriterInputMediaDataLocationBeforeMainMediaDataNotInterleaved")]
BeforeMainMediaDataNotInterleaved = 1,
}
[TV (11, 0), NoWatch, Mac (10, 13), iOS (11, 0)]
public enum AVVideoCodecType {
[Field ("AVVideoCodecTypeH264")]
H264 = 0,
[Field ("AVVideoCodecTypeJPEG")]
Jpeg = 1,
[Field ("AVVideoCodecTypeAppleProRes422")]
AppleProRes422 = 3,
[Field ("AVVideoCodecTypeAppleProRes4444")]
AppleProRes4444 = 4,
[Field ("AVVideoCodecTypeHEVC")]
Hevc = 5,
}
[TV (11,0), NoWatch, iOS (11,0)]
[Native]
public enum AVDepthDataQuality : nint {
Low = 0,
High = 1
}
}

Просмотреть файл

@ -29,7 +29,7 @@ namespace XamCore.Accounts {
#if XAMCORE_3_0
MissingTransportMessageId,
#else
[Obsolete ("Use MissingTransportMessageId")]
[Obsolete ("Use 'MissingTransportMessageId'.")]
MissingMessageID,
#pragma warning disable 618 // MissingMessageID is obsolete
MissingTransportMessageId = MissingMessageID,

Просмотреть файл

@ -39,7 +39,7 @@ using XamCore.CoreFoundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBook {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ExternalChangeEventArgs : EventArgs {
public ExternalChangeEventArgs (ABAddressBook addressBook, NSDictionary info)
{
@ -91,7 +91,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABAddressBook : INativeObject, IDisposable, IEnumerable<ABRecord> {
public static readonly NSString ErrorDomain;

Просмотреть файл

@ -34,7 +34,7 @@ using XamCore.CoreFoundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBook {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
[Native]
[ErrorDomain ("ABAddressBookErrorDomain")]
public enum ABAddressBookError : nint {
@ -42,7 +42,7 @@ namespace XamCore.AddressBook {
OperationNotPermittedByUserError
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
[Native]
public enum ABAuthorizationStatus : nint {
NotDetermined = 0,

Просмотреть файл

@ -63,7 +63,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABGroup : ABRecord, IEnumerable<ABRecord> {
[DllImport (Constants.AddressBookLibrary)]

Просмотреть файл

@ -94,7 +94,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public struct ABMultiValueEntry<T>
{
ABMultiValue<T> self;
@ -166,7 +166,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABMultiValue<T> : INativeObject, IDisposable, IEnumerable<ABMultiValueEntry<T>>
{
IntPtr handle;
@ -286,7 +286,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABMutableMultiValue<T> : ABMultiValue<T>
{
internal ABMutableMultiValue (IntPtr handle)
@ -331,7 +331,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABMutableDateMultiValue : ABMutableMultiValue<NSDate> {
public ABMutableDateMultiValue ()
: base (ABMultiValue.CreateMutable (ABPropertyType.MultiDateTime))
@ -339,7 +339,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABMutableDictionaryMultiValue : ABMutableMultiValue<NSDictionary> {
public ABMutableDictionaryMultiValue ()
: base (ABMultiValue.CreateMutable (ABPropertyType.MultiDictionary))
@ -347,7 +347,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABMutableStringMultiValue : ABMutableMultiValue<string> {
public ABMutableStringMultiValue ()
: base (ABMultiValue.CreateMutable (ABPropertyType.MultiString),

Просмотреть файл

@ -39,19 +39,19 @@ using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBook {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABPersonSortBy : uint /* uint32_t */ {
FirstName = 0,
LastName = 1,
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABPersonCompositeNameFormat : uint /* uint32_t */ {
FirstNameFirst = 0,
LastNameFirst = 1,
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABPersonProperty {
Address,
Birthday,
@ -80,7 +80,7 @@ namespace XamCore.AddressBook {
SocialProfile
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
[Native]
[iOS (4,1)]
public enum ABPersonImageFormat : nint_compat_int {
@ -88,7 +88,7 @@ namespace XamCore.AddressBook {
OriginalSize = 2
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
static class ABPersonPropertyId {
public static int Address {get; private set;}
@ -223,7 +223,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonAddressKey {
public static NSString City {get; private set;}
@ -257,7 +257,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonDateLabel {
public static NSString Anniversary {get; private set;}
@ -280,14 +280,14 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABPersonKind {
None,
Organization,
Person,
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
static class ABPersonKindId {
public static NSNumber Organization {get; private set;}
public static NSNumber Person {get; private set;}
@ -330,7 +330,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
static class ABPersonSocialProfile {
public static readonly NSString URLKey;
public static readonly NSString ServiceKey;
@ -353,7 +353,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonSocialProfileService
{
public static readonly NSString Twitter;
@ -384,7 +384,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonPhoneLabel {
public static NSString HomeFax {get; private set;}
public static NSString iPhone {get; private set;}
@ -421,7 +421,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonInstantMessageService {
public static NSString Aim {get; private set;}
public static NSString Icq {get; private set;}
@ -463,7 +463,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonInstantMessageKey {
public static NSString Service {get; private set;}
public static NSString Username {get; private set;}
@ -488,7 +488,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonUrlLabel {
public static NSString HomePage {get; private set;}
@ -511,7 +511,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABPersonRelatedNamesLabel {
public static NSString Assistant {get; private set;}
public static NSString Brother {get; private set;}
@ -554,7 +554,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public static class ABLabel {
public static NSString Home {get; private set;}
public static NSString Other {get; private set;}
@ -581,7 +581,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPerson : ABRecord, IComparable, IComparable<ABPerson> {
[DllImport (Constants.AddressBookLibrary)]
extern static IntPtr ABPersonCreate ();
@ -1089,7 +1089,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class SocialProfile : DictionaryContainer
{
public SocialProfile ()
@ -1147,7 +1147,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class InstantMessageService : DictionaryContainer
{
public InstantMessageService ()
@ -1190,7 +1190,7 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class PersonAddress : DictionaryContainer
{
public PersonAddress ()

Просмотреть файл

@ -37,14 +37,14 @@ using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBook {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABRecordType : uint /* uint32_t */ {
Person = 0,
Group = 1,
Source = 2
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABPropertyType : uint /* uint32_t */ {
Invalid = 0,
String = 0x1,
@ -59,7 +59,7 @@ namespace XamCore.AddressBook {
MultiDictionary = ABMultiValue.Mask | Dictionary,
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public abstract class ABRecord : INativeObject, IDisposable {
public const int InvalidRecordId = -1;

Просмотреть файл

@ -39,7 +39,7 @@ using XamCore.ObjCRuntime;
namespace XamCore.AddressBook {
// note: not a true flag
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABSourceType : int /* typedef int */ {
Local = 0x0,
Exchange = 0x1,
@ -52,7 +52,7 @@ namespace XamCore.AddressBook {
SearchableMask = 0x01000000
};
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABSource : ABRecord {
#if !XAMCORE_2_0
[Advice ("Use ABSourceType.SearchableMask")]
@ -82,13 +82,13 @@ namespace XamCore.AddressBook {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public enum ABSourceProperty {
Name,
Type,
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
static class ABSourcePropertyId {
public static int Name { get; private set;}

Просмотреть файл

@ -16,7 +16,7 @@ using XamCore.ObjCRuntime;
namespace XamCore.AddressBookUI {
// http://developer.apple.com/library/ios/#DOCUMENTATION/AddressBookUI/Reference/AddressBookUI_Functions/Reference/reference.html#//apple_ref/c/func/ABCreateStringWithAddressDictionary
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
static public class ABAddressFormatting {
[DllImport (Constants.AddressBookUILibrary)]

Просмотреть файл

@ -14,7 +14,7 @@ using XamCore.ObjCRuntime;
namespace XamCore.AddressBookUI {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABNewPersonCompleteEventArgs : EventArgs {
public ABNewPersonCompleteEventArgs (ABPerson person)
@ -53,7 +53,7 @@ namespace XamCore.AddressBookUI {
#endif
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
partial class ABNewPersonViewController {
ABPerson displayedPerson;

Просмотреть файл

@ -14,7 +14,7 @@ using XamCore.UIKit;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBookUI {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPeoplePickerSelectPersonEventArgs : EventArgs {
public ABPeoplePickerSelectPersonEventArgs (ABPerson person)
@ -27,7 +27,7 @@ namespace XamCore.AddressBookUI {
public bool Continue {get; set;}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPeoplePickerPerformActionEventArgs : ABPeoplePickerSelectPersonEventArgs {
public ABPeoplePickerPerformActionEventArgs (ABPerson person, ABPersonProperty property, int? identifier)
@ -41,7 +41,7 @@ namespace XamCore.AddressBookUI {
public int? Identifier {get; private set;}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPeoplePickerSelectPerson2EventArgs : EventArgs {
public ABPeoplePickerSelectPerson2EventArgs (ABPerson person)
@ -52,7 +52,7 @@ namespace XamCore.AddressBookUI {
public ABPerson Person {get; private set;}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPeoplePickerPerformAction2EventArgs : ABPeoplePickerSelectPerson2EventArgs {
public ABPeoplePickerPerformAction2EventArgs (ABPerson person, ABPersonProperty property, int? identifier)
@ -170,7 +170,7 @@ namespace XamCore.AddressBookUI {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
partial class ABPeoplePickerNavigationController {
DisplayedPropertiesCollection displayedProperties;

Просмотреть файл

@ -13,7 +13,7 @@ using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBookUI {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABPersonViewPerformDefaultActionEventArgs : EventArgs {
public ABPersonViewPerformDefaultActionEventArgs (ABPerson person, ABPersonProperty property, int? identifier)
{
@ -56,7 +56,7 @@ namespace XamCore.AddressBookUI {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
partial class ABPersonViewController {
ABPerson displayedPerson;

Просмотреть файл

@ -13,7 +13,7 @@ using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.AddressBookUI {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class ABUnknownPersonCreatedEventArgs : EventArgs {
public ABUnknownPersonCreatedEventArgs (ABPerson person)
@ -65,7 +65,7 @@ namespace XamCore.AddressBookUI {
}
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
partial class ABUnknownPersonViewController {
ABPerson displayedPerson;

Просмотреть файл

@ -18,7 +18,7 @@ namespace XamCore.AddressBookUI {
delegate T ABFunc<T> ();
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Contacts API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Contacts' API instead.")]
public class DisplayedPropertiesCollection : ICollection<ABPersonProperty> {
ABFunc<NSNumber[]> g;

Просмотреть файл

@ -116,7 +116,7 @@ namespace XamCore.AppKit {
DestinationAtop,
XOR,
PlusDarker,
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSCompositeSourceOver instead")]
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSCompositeSourceOver instead.")]
Highlight,
PlusLighter,
[Mac (10,10)] Multiply,
@ -138,7 +138,11 @@ namespace XamCore.AppKit {
[Native]
public enum NSBackingStore : nuint_compat_int {
Retained, Nonretained, Buffered
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_13, Message = "Use 'Buffered' instead.")]
Retained,
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_13, Message = "Use 'Buffered' instead.")]
Nonretained,
Buffered,
}
[Native]
@ -194,7 +198,7 @@ namespace XamCore.AppKit {
#if !XAMCORE_3_0
[Flags]
[Native]
[Obsolete ("Use NSFileWrapperReadingOptions in Foundation instead")]
[Obsolete ("Use NSFileWrapperReadingOptions in Foundation instead.")]
public enum NSFileWrapperReadingOptions : nuint_compat_int {
Immediate = 1, WithoutMapping = 2
}
@ -223,7 +227,7 @@ namespace XamCore.AppKit {
#if !XAMCORE_4_0
[Native]
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use formatters instead")]
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use formatters instead.")]
public enum NSType : nuint_compat_int {
Any = 0,
Int = 1,
@ -929,7 +933,7 @@ namespace XamCore.AppKit {
[Native]
public enum NSWindowButton : nuint_compat_int {
CloseButton, MiniaturizeButton, ZoomButton, ToolbarButton, DocumentIconButton, DocumentVersionsButton = 6,
[Availability (Deprecated = Platform.Mac_10_12, Message = "The standard window button for FullScreenButton is always null; use ZoomButton instead")]
[Availability (Deprecated = Platform.Mac_10_12, Message = "The standard window button for FullScreenButton is always null; use ZoomButton instead.")]
FullScreenButton
}
@ -1444,6 +1448,7 @@ namespace XamCore.AppKit {
[Flags]
#if !XAMCORE_4_0
[Native]
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use 'NSGlyphProperty' instead.")]
public enum NSGlyphStorageOptions : nuint_compat_int {
#else
public enum NSGlyphStorageOptions : int
@ -1454,7 +1459,7 @@ namespace XamCore.AppKit {
}
#if !XAMCORE_4_0
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use NSTextStorageEditActions instead")]
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use NSTextStorageEditActions instead.")]
[Flags]
[Native]
public enum NSTextStorageEditedFlags : nuint_compat_int {
@ -1558,7 +1563,10 @@ namespace XamCore.AppKit {
MonoSpaceTrait = (1 << 10),
VerticalTrait = (1 << 11),
UIOptimizedTrait = (1 << 12),
[Mac (10,13)]
TraitTightLeading = 1 << 15,
[Mac (10,13)]
TraitLooseLeading = 1 << 16,
UnknownClass = 0 << 28,
OldStyleSerifsClass = 1 << 28,
TransitionalSerifsClass = 2 << 28,
@ -1608,7 +1616,7 @@ namespace XamCore.AppKit {
Default, Regular, Small
}
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSAlertButtonReturn instead")]
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSAlertButtonReturn instead.")]
#if !XAMCORE_4_0
[Native]
public enum NSAlertType : nint {
@ -1622,7 +1630,7 @@ namespace XamCore.AppKit {
}
#if !XAMCORE_4_0
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSModalResponse instead")]
[Availability (Introduced = Platform.Mac_10_0, Deprecated = Platform.Mac_10_10, Message = "Use NSModalResponse instead.")]
[Native]
public enum NSPanelButtonType : nint {
Cancel, Ok
@ -2112,6 +2120,7 @@ namespace XamCore.AppKit {
// These constants specify the possible states of a drawer.
[Native]
[Deprecated (PlatformName.MacOSX, 10, 13, message: "Use 'NSSplitViewController' instead.")]
public enum NSDrawerState : nuint_compat_int {
Closed = 0,
Opening = 1,
@ -2148,6 +2157,7 @@ namespace XamCore.AppKit {
}
[Native]
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use 'NSGlyphProperty' instead.")]
public enum NSGlyphInscription : nuint_compat_int {
Base, Below, Above, Overstrike, OverBelow
}
@ -2735,4 +2745,100 @@ namespace XamCore.AppKit {
Center
}
[Mac (10,13)]
public enum NSFontError : int {
AssetDownloadError = 66304,
ErrorMinimum = 66304,
ErrorMaximum = 66335,
}
[Mac (10,13)]
[Native]
public enum NSAccessibilityAnnotationPosition : nint {
FullRange,
Start,
End,
}
[Mac (10,13)]
[Native]
public enum NSAccessibilityCustomRotorSearchDirection : nint {
Previous,
Next,
}
[Mac (10,13)]
[Native]
public enum NSAccessibilityCustomRotorType : nint {
Custom = 0,
Any = 1,
Annotation,
BoldText,
Heading,
HeadingLevel1,
HeadingLevel2,
HeadingLevel3,
HeadingLevel4,
HeadingLevel5,
HeadingLevel6,
Image,
ItalicText,
Landmark,
Link,
List,
MisspelledWord,
Table,
TextField,
UnderlinedText,
VisitedLink,
}
[Mac (10, 13)]
[Native]
public enum NSColorType : nint {
ComponentBased,
Pattern,
Catalog,
}
[Mac (10,13)]
[Native]
[Flags]
public enum NSFontAssetRequestOptions : nuint {
UsesStandardUI = 1 << 0,
}
[Mac (10,13)]
[Native]
[Flags]
public enum NSFontPanelModeMask : nuint {
Face = 1 << 0,
Size = 1 << 1,
Collection = 1 << 2,
UnderlineEffect = 1 << 8,
StrikethroughEffect = 1 << 9,
TextColorEffect = 1 << 10,
DocumentColorEffect = 1 << 11,
ShadowEffect = 1 << 12,
AllEffects = (nuint)0XFFF00,
StandardModes = (nuint)0XFFFF,
AllModes = (nuint)0XFFFFFFFF,
}
[Mac (10,13)]
[Native]
public enum NSLevelIndicatorPlaceholderVisibility : nint {
Automatic = 0,
Always = 1,
WhileEditing = 2,
}
[Mac (10,13)]
[Native]
public enum NSSegmentDistribution : nint {
Fit = 0,
Fill,
FillEqually,
FillProportionally,
}
}

Просмотреть файл

@ -132,7 +132,7 @@ namespace XamCore.AppKit {
DiscardEvents ((nuint)(ulong) mask, lastEvent);
}
[Obsolete ("This method does nothing")]
[Obsolete ("This method does nothing.")]
public static void RestoreWindow (string identifier, Foundation.NSCoder state, NSWindowCompletionHandler onCompletion)
{
}

Просмотреть файл

@ -88,7 +88,7 @@ namespace XamCore.AppKit {
_SetAssociatedPointsAtIndex ((IntPtr)ptr, index);
}
public unsafe void AppendPathWithPoints (CGPoint[] points)
public unsafe void Append (CGPoint[] points)
{
if (points == null)
throw new ArgumentNullException ("points");
@ -99,6 +99,14 @@ namespace XamCore.AppKit {
_AppendPathWithPoints ((IntPtr)ptr, points.Length);
}
#if !XAMCORE_4_0
[Obsolete ("Use 'Append (CGPoint[])' instead.")]
public unsafe void AppendPathWithPoints (CGPoint[] points)
{
Append (points);
}
[Obsolete ("Use 'Append (uint[], NSFont)' instead.")]
public unsafe void AppendPathWithGlyphs (uint[] glyphs, NSFont font)
{
if (glyphs == null)
@ -109,6 +117,18 @@ namespace XamCore.AppKit {
fixed (uint* ptr = &glyphs [0])
_AppendPathWithGlyphs ((IntPtr)ptr, glyphs.Length, font);
}
#endif
[Mac (10,13)]
public unsafe void Append (uint[] glyphs, NSFont font)
{
if (glyphs == null)
throw new ArgumentNullException ("glyphs");
if (glyphs.Length < 1)
throw new ArgumentException ("glyphs array is empty");
fixed (uint* ptr = &glyphs [0])
_AppendBezierPathWithCGGlyphs ((IntPtr)ptr, glyphs.Length, font);
}
}
}

Просмотреть файл

@ -5,7 +5,7 @@ using XamCore.CoreGraphics;
namespace XamCore.AppKit {
public partial class NSComboBox {
[Obsolete ("Use GetItemObject instead")]
[Obsolete ("Use GetItemObject instead.")]
public virtual NSComboBox GetItem (nint index)
{
return (NSComboBox) GetItemObject (index);

56
src/AppKit/NSFont.cs Normal file
Просмотреть файл

@ -0,0 +1,56 @@
using System;
using System.Runtime.InteropServices;
using XamCore.CoreFoundation;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
using XamCore.CoreGraphics;
using XamCore.CoreAnimation;
using XamCore.CoreText;
using CGGlyph = System.UInt16;
namespace XamCore.AppKit {
public partial class NSFont
{
public static NSFont FromCTFont (CTFont font)
{
if (font == null)
return null;
return new NSFont (font.Handle);
}
[Mac (10,13)]
public unsafe CGRect [] GetBoundingRects (CGGlyph [] glyphs)
{
if (glyphs == null)
throw new ArgumentNullException ("glyphs");
if (glyphs.Length < 1)
throw new ArgumentException ("glyphs array is empty");
CGRect [] bounds = new CGRect [glyphs.Length];
fixed (CGRect* boundsPtr = &bounds [0]) {
fixed (CGGlyph* glyphsPtr = &glyphs [0]) {
_GetBoundingRects ((IntPtr)boundsPtr, (IntPtr)glyphsPtr, (nuint)glyphs.Length);
}
}
return bounds;
}
[Mac (10,13)]
public unsafe CGSize [] GetAdvancements (CGGlyph [] glyphs)
{
if (glyphs == null)
throw new ArgumentNullException ("glyphs");
if (glyphs.Length < 1)
throw new ArgumentException ("glyphs array is empty");
CGSize [] advancements = new CGSize [glyphs.Length];
fixed (CGSize* advancementsPtr = &advancements [0]) {
fixed (CGGlyph* glyphsPtr = &glyphs [0]) {
_GetAdvancements ((IntPtr)advancementsPtr, (IntPtr)glyphsPtr, (nuint)glyphs.Length);
}
}
return advancements;
}
}
}

Просмотреть файл

@ -6,7 +6,7 @@ namespace XamCore.AppKit
{
public partial class NSTextContainer
{
[Availability (Obsoleted = Platform.Mac_10_11, Message = "Use NSTextContainer.FromSize instead")]
[Availability (Obsoleted = Platform.Mac_10_11, Message = "Use NSTextContainer.FromSize instead.")]
public NSTextContainer (CGSize size)
{
Handle = InitWithContainerSize (size);
@ -26,7 +26,7 @@ namespace XamCore.AppKit
return new NSTextContainer (size, false);
}
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use NSTextContainer.FromSize instead")]
[Availability (Deprecated = Platform.Mac_10_11, Message = "Use NSTextContainer.FromSize instead.")]
public static NSTextContainer FromContainerSize (CGSize containerSize)
{
return new NSTextContainer (containerSize, true);

Просмотреть файл

@ -17,12 +17,12 @@ using XamCore.MediaPlayer;
namespace XamCore.AssetsLibrary {
// internally used (not exposed by ObjC)
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
public enum ALAssetType {
Video, Photo, Unknown
}
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
public partial class ALAsset {
public ALAssetType AssetType {
get {

Просмотреть файл

@ -16,7 +16,7 @@ using XamCore.MediaPlayer;
namespace XamCore.AssetsLibrary {
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
public partial class ALAssetsGroup {
public NSString Name {
get {

Просмотреть файл

@ -20,7 +20,7 @@ using XamCore.MediaPlayer;
namespace XamCore.AssetsLibrary
{
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
public partial class ALAssetsLibrary
{
[Obsolete ("Use the overload that takes a CGImage instead")]

Просмотреть файл

@ -4,7 +4,7 @@ using XamCore.ObjCRuntime;
namespace XamCore.AssetsLibrary {
// NSInteger -> ALAssetsLibrary.h
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
[Native]
public enum ALAssetOrientation : nint {
Up,
@ -18,7 +18,7 @@ namespace XamCore.AssetsLibrary {
}
// NSUInteger -> ALAssetsLibrary.h
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
[Native]
[Flags]
public enum ALAssetsGroupType : nuint {
@ -32,7 +32,7 @@ namespace XamCore.AssetsLibrary {
}
// untyped enum -> ALAssetsLibrary.h
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
[ErrorDomain ("ALAssetsLibraryErrorDomain")]
public enum ALAssetsError {
UnknownError = -1,
@ -48,7 +48,7 @@ namespace XamCore.AssetsLibrary {
}
// NSInteger -> ALAssetsLibrary.h
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use Photos API instead")]
[Availability (Deprecated = Platform.iOS_9_0, Message = "Use the 'Photos' API instead.")]
[Native]
public enum ALAuthorizationStatus : nint {
NotDetermined,

Просмотреть файл

@ -46,6 +46,8 @@ namespace XamCore.AudioToolbox {
AIFF = 0x41494646, // AIFF
AIFC = 0x41494643, // AIFC
WAVE = 0x57415645, // WAVE
[NoWatch, iOS (11,0), Mac(10,13), TV (11,0)]
RF64 = 0x52463634, // RF64
SoundDesigner2 = 0x53643266, // Sd2f
Next = 0x4e655854, // NeXT
MP3 = 0x4d504733, // MPG3
@ -60,6 +62,8 @@ namespace XamCore.AudioToolbox {
ThreeGP = 0x33677070, // 3gpp
ThreeGP2 = 0x33677032, // 3gp2
AMR = 0x616d7266, // amrf
[NoWatch, iOS (11,0), Mac(10,13), TV (11,0)]
FLAC = 0x666c6163, // flac
}
public enum AudioFileError {// Implictly cast to OSType in AudioFile.h

Просмотреть файл

@ -262,7 +262,7 @@ namespace XamCore.AudioToolbox {
[StructLayout(LayoutKind.Explicit)]
public struct AudioQueueParameterEvent {
[FieldOffset(0)]
[Advice ("Use Parameter")]
[Advice ("Use Parameter.")]
public uint ID;
[FieldOffset(0)]

Просмотреть файл

@ -194,7 +194,7 @@ namespace XamCore.AudioToolbox {
}
}
[Availability (Deprecated = Platform.iOS_7_0, Message = "Use AVAudioSession instead")]
[Availability (Deprecated = Platform.iOS_7_0, Message = "Use 'AVAudioSession' instead.")]
public static class AudioSession {
static bool initialized;
public static event EventHandler Interrupted;

Просмотреть файл

@ -78,6 +78,8 @@ namespace XamCore.AudioToolbox {
MicrosoftGSM = 0x6d730031,
AES3 = 0x61657333, // 'aes3'
EnhancedAES3 = 0x65632d33, // 'ec-3'
Flac = 0x666c6163, // 'flac'
Opus = 0x6f707573, // 'opus'
}
[Flags]
@ -142,7 +144,7 @@ namespace XamCore.AudioToolbox {
const int AudioUnitSampleFractionBits = 24;
const AudioFormatFlags AudioFormatFlagIsBigEndian = 0;
[Availability (Deprecated = Platform.iOS_8_0 | Platform.Mac_10_10, Message = "Canonical is no longer encouraged, since fixed-point no longer provides a performance advantage over floating point. AudioFormatFlagsNativeFloatPacked is preffered instead")]
[Availability (Deprecated = Platform.iOS_8_0 | Platform.Mac_10_10, Message = "Canonical is no longer encouraged, since fixed-point no longer provides a performance advantage over floating point. 'AudioFormatFlagsNativeFloatPacked' is preffered instead.")]
public static readonly AudioFormatFlags AudioFormatFlagsAudioUnitCanonical = AudioFormatFlags.IsSignedInteger | (BitConverter.IsLittleEndian ? 0 : AudioFormatFlags.IsBigEndian) |
AudioFormatFlags.IsPacked | AudioFormatFlags.IsNonInterleaved | (AudioFormatFlags) (AudioUnitSampleFractionBits << (int)AudioFormatFlags.LinearPCMSampleFractionShift);
@ -424,7 +426,31 @@ namespace XamCore.AudioToolbox {
Discrete_13 = (1<<16) | 13,
Discrete_14 = (1<<16) | 14,
Discrete_15 = (1<<16) | 15,
Discrete_65535 = (1<<16) | 65535
Discrete_65535 = (1<<16) | 65535,
// HOA ACN channels
// generic
HoaAcn = 500,
// numbered
HoaAcn0 = (2 << 16) | 0,
HoaAcn1 = (2 << 16) | 1,
HoaAcn2 = (2 << 16) | 2,
HoaAcn3 = (2 << 16) | 3,
HoaAcn4 = (2 << 16) | 4,
HoaAcn5 = (2 << 16) | 5,
HoaAcn6 = (2 << 16) | 6,
HoaAcn7 = (2 << 16) | 7,
HoaAcn8 = (2 << 16) | 8,
HoaAcn9 = (2 << 16) | 9,
HoaAcn10 = (2 << 16) | 10,
HoaAcn11 = (2 << 16) | 11,
HoaAcn12 = (2 << 16) | 12,
HoaAcn13 = (2 << 16) | 13,
HoaAcn14 = (2 << 16) | 14,
HoaAcn15 = (2 << 16) | 15,
HoaAcn65024 = (2 << 16) | 65024
}
[Flags]
@ -663,7 +689,10 @@ namespace XamCore.AudioToolbox {
DTS_8_0_B = (179<<16) | 8,
DTS_8_1_A = (180<<16) | 9,
DTS_8_1_B = (181<<16) | 9,
DTS_6_1_D = (182<<16) | 7,
DTS_6_1_D = (182<<16) | 7,
HOA_ACN_SN3D = (190U<<16),
HOA_ACN_N3D = (191U<<16),
DiscreteInOrder = (147<<16) | 0, // needs to be ORed with the actual number of channels
Unknown = 0xFFFF0000 // needs to be ORed with the actual number of channels
@ -1111,7 +1140,6 @@ namespace XamCore.AudioToolbox {
}
}
#if !WATCH
[StructLayout(LayoutKind.Sequential)]
public struct AudioBuffer {
public int NumberChannels;
@ -1136,5 +1164,4 @@ namespace XamCore.AudioToolbox {
public /* UInt16 */ ushort Reserved;
}
#endif
#endif // !WATCH
}

Просмотреть файл

@ -38,6 +38,177 @@ using XamCore.Foundation;
namespace XamCore.AudioUnit
{
#if !COREBUILD
// keys are not constants and had to be found in AudioToolbox.framework/Headers/AudioComponent.h
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
public partial class ResourceUsageInfo : DictionaryContainer {
static NSString userClientK = new NSString ("iokit.user-client");
static NSString globalNameK = new NSString ("mach-lookup.global-name");
static NSString networkClientK = new NSString ("network.client");
static NSString exceptionK = new NSString ("temporary-exception.files.all.read-write");
public ResourceUsageInfo () : base () {}
public ResourceUsageInfo (NSDictionary dic) : base (dic) {}
public string[] IOKitUserClient {
get {
var array = GetNativeValue<NSArray> (userClientK);
if (array == null )
return null;
return NSArray.StringArrayFromHandle (array.Handle);
}
set {
if (value == null)
RemoveValue (userClientK);
else
SetArrayValue (userClientK, value);
}
}
public string[] MachLookUpGlobalName {
get {
var array = GetNativeValue<NSArray> (globalNameK);
if (array == null)
return null;
return NSArray.StringArrayFromHandle (array.Handle);
}
set {
if (value == null)
RemoveValue (globalNameK);
else
SetArrayValue (globalNameK, value);
}
}
public bool? NetworkClient {
get {
return GetBoolValue (networkClientK);
}
set {
SetBooleanValue (networkClientK, value);
}
}
public bool? TemporaryExceptionReadWrite {
get {
return GetBoolValue (exceptionK);
}
set {
SetBooleanValue (exceptionK, value);
}
}
}
// keys are not constants and had to be found in AudioToolbox.framework/Headers/AudioComponent.h
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
public partial class AudioComponentInfo : DictionaryContainer {
static NSString typeK = new NSString ("type");
static NSString subtypeK = new NSString ("subtype");
static NSString manufacturerK = new NSString ("manufacturer");
static NSString nameK = new NSString ("name");
static NSString versionK = new NSString ("version");
static NSString factoryFunctionK = new NSString ("factoryFunction");
static NSString sandboxSafeK = new NSString ("sandboxSafe");
static NSString resourceUsageK = new NSString ("resourceUsage");
static NSString tagsK = new NSString ("tags");
public AudioComponentInfo () : base () {}
public AudioComponentInfo (NSDictionary dic) : base (dic) {}
public string Type {
get {
return GetStringValue (typeK);
}
set {
SetStringValue (typeK, value);
}
}
public string Subtype {
get {
return GetStringValue (subtypeK);
}
set {
SetStringValue (subtypeK, value);
}
}
public string Manufacturer {
get {
return GetStringValue (manufacturerK);
}
set {
SetStringValue (manufacturerK, value);
}
}
public string Name {
get {
return GetStringValue (nameK);
}
set {
SetStringValue (nameK, value);
}
}
public nuint? Version {
get {
return GetNUIntValue (versionK);
}
set {
SetNumberValue (versionK, value);
}
}
public string FactoryFunction {
get {
return GetStringValue (factoryFunctionK);
}
set {
SetStringValue (factoryFunctionK, value);
}
}
public bool? SandboxSafe {
get {
return GetBoolValue (sandboxSafeK);
}
set {
SetBooleanValue (sandboxSafeK, value);
}
}
public ResourceUsageInfo ResourceUsage {
get {
return GetStrongDictionary<ResourceUsageInfo> (resourceUsageK);
}
set {
SetNativeValue (resourceUsageK, value?.Dictionary, true);
}
}
public string[] Tags {
get {
var array = GetNativeValue<NSArray> (tagsK);
if (array == null)
return null;
return NSArray.StringArrayFromHandle (array.Handle);
}
set {
if (value == null)
RemoveValue (tagsK);
else
SetArrayValue (tagsK, value);
}
}
}
#endif
public class AudioComponent : INativeObject {
#if !COREBUILD
internal IntPtr handle;
@ -224,6 +395,59 @@ namespace XamCore.AudioUnit
return new XamCore.AppKit.NSImage (AudioComponentGetIcon (handle));
}
#endif
#if IOS || MONOMAC
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
[DllImport (Constants.AudioUnitLibrary)]
static extern int /* OSStatus */ AudioUnitExtensionSetComponentList (IntPtr /* CFString */ extensionIdentifier, /* CFArrayRef */ IntPtr audioComponentInfo);
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
[DllImport (Constants.AudioUnitLibrary)]
static extern /* CFArrayRef */ IntPtr AudioUnitExtensionCopyComponentList (IntPtr /* CFString */ extensionIdentifier);
[NoWatch, NoTV, Mac (10,13), iOS (11,0)]
public AudioComponentInfo[] ComponentList {
get {
using (var cfString = new CFString (Name)) {
var cHandle = AudioUnitExtensionCopyComponentList (cfString.Handle);
if (cHandle == IntPtr.Zero)
return null;
using (var nsArray = Runtime.GetNSObject<NSArray> (cHandle, owns: true)) {
if (nsArray == null)
return null;
// make things easier for developers since we do not know how to have an implicit conversion from NSObject to AudioComponentInfo
var dics = NSArray.FromArray <NSDictionary> (nsArray);
var result = new AudioComponentInfo [dics.Length];
for (var i = 0; i < result.Length; i++) {
result [i] = new AudioComponentInfo (dics[i]);
}
return result;
}
}
}
set {
if (value == null)
throw new ArgumentNullException (nameof (value));
using (var cfString = new CFString (Name)) {
var dics = new NSDictionary [value.Length];
for (var i = 0; i < value.Length; i++) {
dics [i] = value [i].Dictionary;
}
using (var array = NSArray.FromNSObjects (dics)) {
var result = (AudioConverterError) AudioUnitExtensionSetComponentList (cfString.Handle, array.Handle);
switch (result) {
case AudioConverterError.None:
return;
default:
throw new InvalidOperationException ($"ComponentList could not be set, error {result.ToString ()}");
}
}
}
}
}
#endif
#endif // !COREBUILD
}
@ -241,4 +465,4 @@ namespace XamCore.AudioUnit
public static NSString ValidationResult = new NSString ("ValidationResult");
}
#endif
}
}

Просмотреть файл

@ -142,10 +142,10 @@ namespace XamCore.AudioUnit
Spacial=0x3364656d, // Same as Embedded3D
#if MONOMAC
Stereo=0x736d7872, // 'smxr'
[Availability (Deprecated = Platform.Mac_10_10, Message = "Use Spacial instead")]
[Availability (Deprecated = Platform.Mac_10_10, Message = "Use 'Spacial' instead.")]
ThreeD=0x33646d78, // '3dmx'
#else
[Availability (Deprecated = Platform.iOS_8_0, Message = "Use Spacial instead")]
[Availability (Deprecated = Platform.iOS_8_0, Message = "Use 'Spacial' instead.")]
Embedded3D=0x3364656d, // '3dem'
#endif
}

Просмотреть файл

@ -63,6 +63,10 @@ namespace XamCore.AudioUnit
Initialized = -10849,
InvalidOfflineRender = -10848,
Unauthorized = -10847,
[iOS (11,0), Mac (10,13, onlyOn64: true), TV (11,0), NoWatch]
MidiOutputBufferFull = -66753,
[iOS (11,0), Mac (10,13, onlyOn64: true), TV (11,0), NoWatch]
ExtensionNotFound = -66744,
}
public enum AudioComponentStatus { // Implictly cast to OSType
@ -352,6 +356,50 @@ namespace XamCore.AudioUnit
System = 0
}
public enum AUParameterEventType : uint
{
Immediate = 1,
Ramped = 2,
}
[StructLayout (LayoutKind.Sequential)]
public struct AudioUnitParameterEvent
{
public uint Scope;
public uint Element;
public uint Parameter;
public AUParameterEventType EventType;
[StructLayout (LayoutKind.Explicit)]
public struct EventValuesStruct
{
[StructLayout (LayoutKind.Sequential)]
public struct RampStruct
{
public int StartBufferOffset;
public uint DurationInFrames;
public float StartValue;
public float EndValue;
}
[FieldOffset (0)]
public RampStruct Ramp;
[StructLayout (LayoutKind.Sequential)]
public struct ImmediateStruct
{
public uint BufferOffset;
public float Value;
}
[FieldOffset (0)]
public ImmediateStruct Immediate;
}
public EventValuesStruct EventValues;
}
public class AudioUnit : IDisposable, XamCore.ObjCRuntime.INativeObject
{
internal IntPtr handle;
@ -460,7 +508,7 @@ namespace XamCore.AudioUnit
#endif
#if !XAMCORE_3_0
[Obsolete ("Use SetFormat instead as it has the ability of returning a status code")]
[Obsolete ("Use 'SetFormat' instead as it has the ability of returning a status code.")]
public void SetAudioFormat(XamCore.AudioToolbox.AudioStreamBasicDescription audioFormat, AudioUnitScopeType scope, uint audioUnitElement = 0)
{
var err = AudioUnitSetProperty(handle,
@ -501,7 +549,7 @@ namespace XamCore.AudioUnit
#if !XAMCORE_3_0 || MONOMAC
#if !MONOMAC
[Obsolete ("This API is not available on iOS")]
[Obsolete ("This API is not available on iOS.")]
#endif
public static uint GetCurrentInputDevice ()
{
@ -873,6 +921,11 @@ namespace XamCore.AudioUnit
return AudioUnitSetParameter (handle, type, scope, audioUnitElement, value, 0);
}
public AudioUnitStatus ScheduleParameter (AudioUnitParameterEvent inParameterEvent, uint inNumParamEvents)
{
return AudioUnitScheduleParameters (handle, inParameterEvent, inNumParamEvents);
}
public void Dispose()
{
Dispose (true);
@ -1032,6 +1085,9 @@ namespace XamCore.AudioUnit
static extern AudioUnitStatus AudioUnitSetParameter (IntPtr inUnit, AudioUnitParameterType inID, AudioUnitScopeType inScope,
uint inElement, float inValue, uint inBufferOffsetInFrames);
[DllImport (Constants.AudioUnitLibrary)]
static extern AudioUnitStatus AudioUnitScheduleParameters (IntPtr inUnit, AudioUnitParameterEvent inParameterEvent, uint inNumParamEvents);
#if MONOMAC
[DllImport (Constants.AudioUnitLibrary)]
static extern int AudioObjectGetPropertyData (
@ -1954,7 +2010,8 @@ namespace XamCore.AudioUnit
Hrtf = 2,
SoundField = 3,
VectorBasedPanning = 4,
StereoPassThrough = 5
StereoPassThrough = 5,
HrtfHQ = 6,
}
public enum AU3DMixerAttenuationCurve : uint
@ -2068,7 +2125,7 @@ namespace XamCore.AudioUnit
}
#if !XAMCORE_4_0 && !COREBUILD
#if XAMCORE_2_0 || !MONOMAC
[Obsolete ("Use AUImplementorStringFromValueCallback instead")]
[Obsolete ("Use 'AUImplementorStringFromValueCallback' instead.")]
public delegate NSString _AUImplementorStringFromValueCallback (AUParameter param, IntPtr value);
#endif
#endif

Просмотреть файл

@ -20,7 +20,7 @@ namespace XamCore.CoreServices {
#endif
// all fields constants that this is using are deprecated in Xcode 7
[Availability (Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message = "Use NSUrlSession")]
[Availability (Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message = "Use 'NSUrlSession'.")]
public partial class CFHTTPStream : CFReadStream {
internal CFHTTPStream (IntPtr handle)

Просмотреть файл

@ -12,7 +12,7 @@ namespace XamCore.CloudKit {
#if !XAMCORE_4_0 && !WATCH
public partial class CKOperation {
[Obsoleted (PlatformName.iOS, 9,3, message: "Do not use; this API was removed in iOS 9.3 and will always return 0")]
[Obsoleted (PlatformName.iOS, 9,3, message: "Do not use; this API was removed and will always return 0.")]
public virtual ulong ActivityStart ()
{
return 0;
@ -21,7 +21,7 @@ namespace XamCore.CloudKit {
public partial class CKNotificationID {
[Obsolete ("This type is not meant to be created by user code")]
[Obsolete ("This type is not meant to be created by user code.")]
public CKNotificationID ()
{
}

Просмотреть файл

@ -80,6 +80,7 @@ namespace XamCore.CloudKit
[iOS (10,0), TV (10,0), Mac (10,12)] ReferenceViolation = 31,
[iOS (10,0), TV (10,0), Mac (10,12)] ManagedAccountRestricted = 32,
[iOS (10,0), TV (10,0), Mac (10,12)] ParticipantMayNeedVerification = 33,
[iOS (11,0), TV (11,0), Mac (10,13), Watch (4,0)] ResponseLost = 34,
}
// NSInteger -> CKModifyRecordsOperation.h
@ -102,7 +103,7 @@ namespace XamCore.CloudKit
Query = 1,
RecordZone = 2,
ReadNotification = 3,
[iOS (10,0), TV (10,0), Mac (10,12)] Database = 4,
[iOS (10,0), TV (10,0), Mac (10,12), Watch (3,0)] Database = 4,
}
// NSInteger -> CKNotification.h
@ -152,7 +153,7 @@ namespace XamCore.CloudKit
// NSInteger -> CKSubscription.h
[NoWatch]
[Availability (Introduced = Platform.iOS_8_0 | Platform.Mac_10_10 , Deprecated = Platform.iOS_10_0 | Platform.Mac_10_12, Message = "Use CKQuerySubscriptionOptions instead")]
[Availability (Introduced = Platform.iOS_8_0 | Platform.Mac_10_10 , Deprecated = Platform.iOS_10_0 | Platform.Mac_10_12, Message = "Use 'CKQuerySubscriptionOptions' instead.")]
[Flags]
[Native]
public enum CKSubscriptionOptions : nuint {
@ -215,4 +216,18 @@ namespace XamCore.CloudKit
RecordDeletion = 1 << 2,
FiresOnce = 1 << 3,
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum CKOperationGroupTransferSize : nint
{
Unknown,
Kilobytes,
Megabytes,
TensOfMegabytes,
HundredsOfMegabytes,
Gigabytes,
TensOfGigabytes,
HundredsOfGigabytes,
}
}

Просмотреть файл

@ -37,6 +37,7 @@ namespace MonoTouch {
public const string MapKitLibrary = "/System/Library/Frameworks/MapKit.framework/MapKit";
public const string GameKitLibrary = "/System/Library/Frameworks/GameKit.framework/GameKit";
public const string EventKitLibrary = "/System/Library/Frameworks/EventKit.framework/EventKit";
public const string EventKitUILibrary = "/System/Library/Frameworks/EventKitUI.framework/EventKitUI";
public const string ImageIOLibrary = "/System/Library/Frameworks/ImageIO.framework/ImageIO";
public const string AssetsLibraryLibrary = "/System/Library/Frameworks/AssetsLibrary.framework/AssetsLibrary";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
@ -105,5 +106,16 @@ namespace MonoTouch {
public const string UserNotificationsUILibrary = "/System/Library/Frameworks/UserNotificationsUI.framework/UserNotificationsUI";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string IntentsUILibrary = "/System/Library/Frameworks/IntentsUI.framework/IntentsUI";
// iOS 11.0
public const string ARKitLibrary = "/System/Library/Frameworks/ARKit.framework/ARKit";
public const string CoreNFCLibrary = "/System/Library/Frameworks/CoreNFC.framework/CoreNFC";
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string IdentityLookupLibrary = "/System/Library/Frameworks/IdentityLookup.framework/IdentityLookup";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string FileProviderLibrary = "/System/Library/Frameworks/FileProvider.framework/FileProvider";
public const string FileProviderUILibrary = "/System/Library/Frameworks/FileProviderUI.framework/FileProviderUI";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
public const string PdfKitLibrary = "/System/Library/Frameworks/PDFKit.framework/PDFKit";
}
}

Просмотреть файл

@ -125,5 +125,12 @@ namespace MonoMac {
public const string PhotosLibrary = "/System/Library/Frameworks/Photos.framework/Photos";
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
public const string MediaPlayerLibrary = "/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer";
// macOS 10.13
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
public const string PhotosUILibrary = "/System/Library/Frameworks/Photos.framework/PhotosUI";
public const string ExternalAccessoryLibrary = "/System/Library/Frameworks/ExternalAccessory.framework/ExternalAccessory";
}
}

Просмотреть файл

@ -69,5 +69,10 @@ namespace ObjCRuntime {
// tvOS 10.2
public const string VideoToolboxLibrary = "/System/Library/Frameworks/VideoToolbox.framework/VideoToolbox";
// tvOS 11.0
public const string DeviceCheckLibrary = "/System/Library/Frameworks/DeviceCheck.framework/DeviceCheck";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
public const string IOSurfaceLibrary = "/System/Library/Frameworks/IOSurface.framework/IOSurface";
}
}

Просмотреть файл

@ -42,6 +42,11 @@ namespace ObjCRuntime {
// WatchOS 3.2
public const string IntentsLibrary = "/System/Library/Frameworks/Intents.framework/Intents";
// WatchOS 4.0
public const string CoreBluetoothLibrary = "/System/Library/Frameworks/CoreBluetooth.framework/CoreBluetooth";
public const string CoreMLLibrary = "/System/Library/Frameworks/CoreML.framework/CoreML";
public const string CoreVideoLibrary = "/System/Library/Frameworks/CoreVideo.framework/CoreVideo";
public const string VisionLibrary = "/System/Library/Frameworks/Vision.framework/Vision";
}
}

Просмотреть файл

@ -94,7 +94,13 @@ namespace XamCore.Contacts {
ValidationTypeMismatch = 301,
ValidationConfigurationError = 302,
PredicateInvalid = 400,
PolicyViolation = 500
PolicyViolation = 500,
[iOS (11,0), Mac (10,13)]
ClientIdentifierInvalid = 600,
[iOS (11,0), Mac (10,13)]
ClientIdentifierDoesNotExist = 601,
[iOS (11,0), Mac (10,13)]
VCardMalformed = 700,
}
// NSInteger -> CNPostalAddressFormatter.h

Просмотреть файл

@ -13,7 +13,7 @@ namespace XamCore.Contacts {
public static partial class CNGroup_PredicatesExtension {
#if !MONOMAC
[Obsolete ("This API is only available on OSX 10.11+")]
[Obsolete ("This API is only available on macOS 10.11+.")]
public static Foundation.NSPredicate GetPredicateForSubgroupsInGroup (CNGroup This, string parentGroupIdentifier)
{
return null;

Просмотреть файл

@ -1,55 +0,0 @@
//
// CNPostalAddress.cs: Implements some nicer methods for CNPostalAddress
//
// Authors:
// Alex Soto <alex.soto@xamarin.com>
//
// Copyright 2015 Xamarin Inc. All rights reserved.
//
using System;
using XamCore.Foundation;
namespace XamCore.Contacts {
#if XAMCORE_2_0 // The Contacts framework uses generics heavily, which is only supported in Unified (for now at least)
// Strong typed Keys to enum
public enum CNPostalAddressKeyOption {
Street,
City,
State,
PostalCode,
Country,
IsoCountryCode
}
public partial class CNPostalAddress {
public static string LocalizeProperty (CNPostalAddressKeyOption option)
{
var srvc = LocalizeOptionsToNSString (option);
return LocalizeProperty (srvc);
}
static NSString LocalizeOptionsToNSString (CNPostalAddressKeyOption option)
{
switch (option) {
case CNPostalAddressKeyOption.Street:
return CNPostalAddressKey.Street;
case CNPostalAddressKeyOption.City:
return CNPostalAddressKey.City;
case CNPostalAddressKeyOption.State:
return CNPostalAddressKey.State;
case CNPostalAddressKeyOption.PostalCode:
return CNPostalAddressKey.PostalCode;
case CNPostalAddressKeyOption.Country:
return CNPostalAddressKey.Country;
case CNPostalAddressKeyOption.IsoCountryCode:
return CNPostalAddressKey.IsoCountryCode;
default:
throw new ArgumentOutOfRangeException ("option");
}
}
}
#endif // XAMCORE_2_0
}

Просмотреть файл

@ -31,6 +31,7 @@ using System;
using XamCore.Foundation;
using System.Runtime.InteropServices;
using XamCore.CoreGraphics;
using XamCore.ObjCRuntime;
namespace XamCore.CoreAnimation {
@ -47,6 +48,16 @@ namespace XamCore.CoreAnimation {
TopBottomEdges = TopEdge | BottomEdge
}
[NoWatch] // headers not updated
[iOS (11,0)][TV (11,0)][Mac (10,13)]
[Native][Flags]
public enum CACornerMask : nuint {
MinXMinYCorner = 1 << 0,
MaxXMinYCorner = 1 << 1,
MinXMaxYCorner = 1 << 2,
MaxXMaxYCorner = 1 << 3,
}
#if MONOMAC
// untyped enum -> CALayer.h (only on OSX headers)
// note: autoresizingMask is an `unsigned int` @property

Просмотреть файл

@ -37,6 +37,7 @@ namespace XamCore.CoreBluetooth {
// It's intentionally not called AdvertisementDataOptions because different options
// are valid in different contexts
//
[Watch (4,0)]
[iOS (6,0)]
public class StartAdvertisingOptions : DictionaryContainer
{

Просмотреть файл

@ -205,5 +205,15 @@ namespace XamCore.CoreBluetooth {
return sb.ToString ();
}
#if MONOMAC
// workaround for 27160443 – Trello: https://trello.com/c/oqB27JA6
// try new constant (10.13+) and fallback to the old/misnamed one
public static NSString CharacteristicValidRangeString {
get {
return CBUUIDCharacteristicValidRangeString ?? CBUUIDValidRangeString;
}
}
#endif
}
}

Просмотреть файл

@ -113,10 +113,10 @@ namespace XamCore.CoreBluetooth {
}
}
#endif
#if !MONOMAC && !XAMCORE_4_0
#if !WATCH && !XAMCORE_4_0
public partial class CBCentralManager {
public virtual CBCentralManagerState State {
public new virtual CBCentralManagerState State {
get {
return (CBCentralManagerState)base.State;
}

Просмотреть файл

@ -13,13 +13,11 @@ using XamCore.ObjCRuntime;
namespace XamCore.CoreBluetooth {
#if !MONOMAC
[Mac (10,13)]
[Watch (4,0)]
[iOS (10,0)]
[Native]
public enum CBManagerState : nint {
#else
internal enum CBManagerState {
#endif
Unknown = 0,
Resetting,
Unsupported,
@ -30,7 +28,8 @@ namespace XamCore.CoreBluetooth {
// NSInteger -> CBCentralManager.h
[Introduced (PlatformName.iOS, 5, 0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use CBManagerState instead")]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'CBManagerState' instead.")]
[NoWatch]
[Native]
public enum CBCentralManagerState : nint {
Unknown = CBManagerState.Unknown,
@ -43,7 +42,8 @@ namespace XamCore.CoreBluetooth {
// NSInteger -> CBPeripheralManager.h
[Introduced (PlatformName.iOS, 6, 0)]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use CBManagerState instead")]
[Deprecated (PlatformName.iOS, 10, 0, message: "Use 'CBManagerState' instead.")]
[NoWatch]
[Native]
public enum CBPeripheralManagerState : nint {
Unknown = CBManagerState.Unknown,
@ -55,16 +55,19 @@ namespace XamCore.CoreBluetooth {
}
// NSInteger -> CBPeripheralManager.h
[Watch (4,0)]
[Native]
public enum CBPeripheralState : nint {
Disconnected,
Connecting,
Connected,
Disconnecting
[iOS (9,0)][Mac (10,13)]
Disconnecting,
}
#if !XAMCORE_4_0
// NSInteger -> CBPeripheralManager.h
[Watch (4,0)]
[Native]
public enum CBPeripheralManagerAuthorizationStatus : nint {
NotDetermined,
@ -75,6 +78,7 @@ namespace XamCore.CoreBluetooth {
#endif
// NSUInteger -> CBCharacteristic.h
[Watch (4,0)]
[Flags]
[Native]
public enum CBCharacteristicProperties : nuint_compat_int {
@ -86,10 +90,13 @@ namespace XamCore.CoreBluetooth {
Indicate = 32,
AuthenticatedSignedWrites = 64,
ExtendedProperties = 128,
[Mac (10,9)]
NotifyEncryptionRequired = 0x100,
[Mac (10,9)]
IndicateEncryptionRequired = 0x200
}
[Watch (4,0)]
[ErrorDomain ("CBErrorDomain")]
[Native] // NSInteger -> CBError.h
public enum CBError : nint {
@ -104,12 +111,15 @@ namespace XamCore.CoreBluetooth {
PeripheralDisconnected,
UUIDNotAllowed,
AlreadyAdvertising,
// iOS7.1
[iOS (7,1)][Mac (10,13)]
ConnectionFailed,
// iOS 9
ConnectionLimitReached
[iOS (9,0)][Mac (10,13)]
ConnectionLimitReached,
[iOS (11,0)][TV (11,0)][Mac (10,13)]
UnknownDevice,
}
[Watch (4,0)]
[ErrorDomain ("CBATTErrorDomain")]
[Native] // NSInteger -> CBError.h
public enum CBATTError : nint {
@ -134,6 +144,7 @@ namespace XamCore.CoreBluetooth {
}
// NSInteger -> CBPeripheral.h
[Watch (4,0)]
[Native]
public enum CBCharacteristicWriteType : nint {
WithResponse,
@ -141,6 +152,8 @@ namespace XamCore.CoreBluetooth {
}
// NSUInteger -> CBCharacteristic.h
[Mac (10,9)]
[Watch (4,0)]
[Flags]
[Native]
public enum CBAttributePermissions : nuint_compat_int {
@ -151,6 +164,7 @@ namespace XamCore.CoreBluetooth {
}
// NSInteger -> CBPeripheralManager.h
[Watch (4,0)]
[Native]
public enum CBPeripheralManagerConnectionLatency : nint {
Low = 0,

Просмотреть файл

@ -58,8 +58,8 @@ namespace XamCore.CoreBluetooth {
ConnectPeripheral (peripheral, options == null ? null : options.Dictionary);
}
#if !TVOS
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0, Obsoleted = Platform.iOS_9_0, Message = "Use RetrievePeripheralsWithIdentifiers instead")]
#if !TVOS && !WATCH
[Availability (Introduced = Platform.iOS_5_0, Deprecated = Platform.iOS_7_0, Obsoleted = Platform.iOS_9_0, Message = "Use 'RetrievePeripheralsWithIdentifiers' instead.")]
public void RetrievePeripherals (CBUUID [] peripheralUuids)
{
if (peripheralUuids == null)
@ -83,19 +83,19 @@ namespace XamCore.CoreBluetooth {
#endif
#if !XAMCORE_2_0
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void RetrievePeripherals (Guid [] peripheralUuids)
{
CFUUID.WithArray (peripheralUuids, "peripheralUuids", x => RetrievePeripherals (x));
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void RetrievePeripherals (Guid peripheralUuid)
{
RetrievePeripherals (new [] { peripheralUuid });
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void ScanForPeripherals (Guid [] serviceUuids, NSDictionary options)
{
if (serviceUuids == null)
@ -104,25 +104,25 @@ namespace XamCore.CoreBluetooth {
CFUUID.WithArray (serviceUuids, "serviceUuids", x => ScanForPeripherals (x, options));
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void ScanForPeripherals (Guid[] serviceUuids, PeripheralScanningOptions options = null)
{
ScanForPeripherals (serviceUuids, options == null ? null : options.Dictionary);
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void ScanForPeripherals (Guid [] serviceUuids)
{
ScanForPeripherals (serviceUuids, null as NSDictionary);
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void ScanForPeripherals (Guid serviceUuid, NSDictionary options)
{
ScanForPeripherals (new [] { serviceUuid }, options);
}
[Obsolete ("Use the CBUUID overload since Guid internal memory representation is different")]
[Obsolete ("Use the 'CBUUID' overload since Guid internal memory representation is different.")]
public void ScanForPeripherals (Guid serviceUuid)
{
ScanForPeripherals (new [] { serviceUuid }, null as NSDictionary);

Просмотреть файл

@ -33,6 +33,7 @@ using XamCore.ObjCRuntime;
namespace XamCore.CoreBluetooth {
[Watch (4,0)]
public class PeripheralConnectionOptions : DictionaryContainer
{
#if !COREBUILD

Просмотреть файл

@ -51,6 +51,10 @@ namespace XamCore.CoreData {
Boolean = 800,
Date = 900,
Binary = 1000,
[iOS (11,0), TV (11,0), Mac (10,13), Watch (4,0)]
Uuid = 1100,
[iOS (11,0), TV (11,0), Mac (10,13), Watch (4,0)]
Uri = 1200,
Transformable = 1800,
ObjectID = 2000
}
@ -147,7 +151,9 @@ namespace XamCore.CoreData {
InvalidDate = 1650,
StringTooLong = 1660,
StringTooShort = 1670,
StringPatternMatching = 1680
StringPatternMatching = 1680,
[iOS (11,0), TV (11,0), Mac (10,13), Watch (4,0)]
InvalidUri = 1690,
}
[Native]
@ -183,6 +189,37 @@ namespace XamCore.CoreData {
MigrationManagerDestinationStore = 134160,
EntityMigrationPolicy = 134170,
InferredMappingModel = 134190,
ExternalRecordImport = 134200
ExternalRecordImport = 134200,
[iOS (11,0), TV (11,0), Mac (10,3), Watch (4,0)]
HistoryTokenExpired = 134301,
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum NSFetchIndexElementType : nuint
{
Binary,
RTree
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum NSPersistentHistoryChangeType : nint
{
Insert,
Update,
Delete
}
[Watch (4,0), TV (11,0), Mac (10,13), iOS (11,0)]
[Native]
public enum NSPersistentHistoryResultType : nint
{
StatusOnly = 0,
ObjectIds = 1,
Count = 2,
TransactionsOnly = 3,
ChangesOnly = 4,
TransactionsAndChanges = 5
}
}

Просмотреть файл

@ -244,7 +244,7 @@ namespace XamCore.CoreFoundation {
internal extern static /* CFReadStreamRef __nonnull */ IntPtr CFReadStreamCreateForHTTPRequest (
/* CFAllocatorRef __nullable */ IntPtr alloc, /* CFHTTPMessageRef __nonnull */ IntPtr request);
[Availability (Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message = "Use NSUrlSession")]
[Availability (Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message = "Use 'NSUrlSession'.")]
public static CFHTTPStream CreateForHTTPRequest (CFHTTPMessage request)
{
if (request == null)

Просмотреть файл

@ -21,17 +21,17 @@ using XamCore.Foundation;
namespace XamCore.CoreGraphics {
// uint32_t enum -> CGColorConverter.h
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by CGColorConversionInfoTransformType. This code does not work on tvOS 10+")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by CGColorConversionInfoTransformType. This code does not work on iOS 10+")]
[Obsolete ("Use CGColorConversionInfoTransformType")]
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by 'CGColorConversionInfoTransformType'.")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by 'CGColorConversionInfoTransformType'.")]
[Obsolete ("Use 'CGColorConversionInfoTransformType'.")]
public enum CGColorConverterTransformType : uint {
FromSpace,
ToSpace,
ApplySpace
}
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by GColorConversionInfoTriple. This code does not work on tvOS 10+")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by GColorConversionInfoTriple. This code does not work on iOS 10+")]
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by 'GColorConversionInfoTriple'.")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by 'GColorConversionInfoTriple'.")]
[StructLayout (LayoutKind.Sequential)]
public struct CGColorConverterTriple {
public CGColorSpace Space;
@ -40,8 +40,8 @@ namespace XamCore.CoreGraphics {
}
// CGColorConverter.h
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by CGColorConversionInfo. This code does not work on tvOS 10+")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by CGColorConversionInfo. This code does not work on iOS 10+")]
[TV (9,2)][Obsoleted (PlatformName.TvOS, 10,0, message: "Replaced by 'CGColorConversionInfo'.")]
[iOS (9,3)][Obsoleted (PlatformName.iOS, 10,0, message: "Replaced by 'CGColorConversionInfo'.")]
public class CGColorConverter : INativeObject, IDisposable
{
/* invoked by marshallers */

Просмотреть файл

@ -66,7 +66,7 @@ namespace XamCore.CoreGraphics {
internal IntPtr handle;
#if !XAMCORE_3_0
[Obsolete ("Use a real `null` value instead of this managed wrapper over a null native instance")]
[Obsolete ("Use a real 'null' value instead of this managed wrapper over a null native instance.")]
#if XAMCORE_2_0
readonly
#endif
@ -143,7 +143,7 @@ namespace XamCore.CoreGraphics {
}
#if !XAMCORE_3_0
[Obsolete ("This method has been renamed CreateDeviceCmyk()")]
[Obsolete ("This method has been renamed 'CreateDeviceCmyk'.")]
[EditorBrowsable (EditorBrowsableState.Never)]
public static /* CGColorSpaceRef */ CGColorSpace CreateDeviceCMYK ()
{

Просмотреть файл

@ -970,7 +970,7 @@ namespace XamCore.CoreGraphics {
extern static void CGContextSelectFont (/* CGContextRef */ IntPtr c,
/* const char* __nullable */ string name, /* CGFloat */ nfloat size, CGTextEncoding textEncoding);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void SelectFont (string name, nfloat size, CGTextEncoding textEncoding)
{
CGContextSelectFont (handle, name, size, textEncoding);
@ -1002,7 +1002,7 @@ namespace XamCore.CoreGraphics {
[DllImport (Constants.CoreGraphicsLibrary)]
extern static void CGContextShowText (/* CGContextRef */ IntPtr c, /* const char* __nullable */ string s, /* size_t */ nint length);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowText (string str, int count)
{
if (str == null)
@ -1012,7 +1012,7 @@ namespace XamCore.CoreGraphics {
CGContextShowText (handle, str, count);
}
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowText (string str)
{
CGContextShowText (handle, str, str == null ? 0 : str.Length);
@ -1021,7 +1021,7 @@ namespace XamCore.CoreGraphics {
[DllImport (Constants.CoreGraphicsLibrary)]
extern static void CGContextShowText (/* CGContextRef */ IntPtr c, /* const char* __nullable */ byte[] bytes, /* size_t */ nint length);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowText (byte[] bytes, int count)
{
if (bytes == null)
@ -1031,7 +1031,7 @@ namespace XamCore.CoreGraphics {
CGContextShowText (handle, bytes, count);
}
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowText (byte[] bytes)
{
CGContextShowText (handle, bytes, bytes == null ? 0 : bytes.Length);
@ -1041,13 +1041,13 @@ namespace XamCore.CoreGraphics {
extern static void CGContextShowTextAtPoint (/* CGContextRef __nullable */ IntPtr c, /* CGFloat */ nfloat x,
/* CGFloat */ nfloat y, /* const char* __nullable */ string str, /* size_t */ nint length);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowTextAtPoint (nfloat x, nfloat y, string str, int length)
{
CGContextShowTextAtPoint (handle, x, y, str, length);
}
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowTextAtPoint (nfloat x, nfloat y, string str)
{
CGContextShowTextAtPoint (handle, x, y, str, str == null ? 0 : str.Length);
@ -1070,13 +1070,13 @@ namespace XamCore.CoreGraphics {
extern static void CGContextShowGlyphs (/* CGContextRef __nullable */ IntPtr c,
/* const CGGlyph * __nullable */ ushort [] glyphs, /* size_t */ nint count);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowGlyphs (ushort [] glyphs)
{
CGContextShowGlyphs (handle, glyphs, glyphs == null ? 0 : glyphs.Length);
}
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowGlyphs (ushort [] glyphs, int count)
{
if (glyphs == null)
@ -1090,7 +1090,7 @@ namespace XamCore.CoreGraphics {
extern static void CGContextShowGlyphsAtPoint (/* CGContextRef */ IntPtr context, /* CGFloat */ nfloat x,
/* CGFloat */ nfloat y, /* const CGGlyph * __nullable */ ushort [] glyphs, /* size_t */ nint count);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowGlyphsAtPoint (nfloat x, nfloat y, ushort [] glyphs, int count)
{
if (glyphs == null)
@ -1100,7 +1100,7 @@ namespace XamCore.CoreGraphics {
CGContextShowGlyphsAtPoint (handle, x, y, glyphs, count);
}
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowGlyphsAtPoint (nfloat x, nfloat y, ushort [] glyphs)
{
CGContextShowGlyphsAtPoint (handle, x, y, glyphs, glyphs == null ? 0 : glyphs.Length);
@ -1111,7 +1111,7 @@ namespace XamCore.CoreGraphics {
/* const CGGlyph * __nullable */ ushort [] glyphs,
/* const CGSize * __nullable */ CGSize [] advances, /* size_t */ nint count);
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the CoreText API instead")]
[Availability (Deprecated = Platform.iOS_7_0 | Platform.Mac_10_9, Message = "Use the 'CoreText' API instead.")]
public void ShowGlyphsWithAdvances (ushort [] glyphs, CGSize [] advances, int count)
{
if (glyphs == null)

Просмотреть файл

@ -92,7 +92,7 @@ namespace XamCore.CoreGraphics {
}));
}
[Advice ("Use the nicer SetCallback(string,Action<CGPDFScanner,object>) API when possible (OSX)")]
[Advice ("Use the nicer SetCallback(string,Action<CGPDFScanner,object>) API when possible.")]
#endif
// this API is ugly - but I do not see a better way with the AOT limitation
public void SetCallback (string name, Action<IntPtr,IntPtr> callback)

Просмотреть файл

@ -643,7 +643,7 @@ namespace XamCore.CoreImage {
}
#if MONOMAC && !XAMCORE_3_0
[Obsolete ("This type has been renamed to CICmykHalftone")]
[Obsolete ("This type has been renamed to CICmykHalftone.")]
public class CICMYKHalftone : CICmykHalftone {
public CICMYKHalftone () {}
public CICMYKHalftone (IntPtr handle) : base (handle) {}

Просмотреть файл

@ -22,6 +22,7 @@
//
using System;
using XamCore.ObjCRuntime;
namespace XamCore.CoreImage {
@ -44,14 +45,14 @@ namespace XamCore.CoreImage {
RGBAh = 1,
#if MONOMAC
RGBA16 = 2,
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kRGBAf instead")]
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kRGBAf instead.")]
RGBAf = 3,
// Please, do not add values into MonoMac/iOS without adding an explicit value
#elif !XAMCORE_3_0
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kBGRA8 instead")]
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kBGRA8 instead.")]
BGRA8 = 2 ,
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kRGBA8 instead")]
[Obsolete ("This value can not be shared across Mac/iOS binaries, future proof with kRGBA8 instead.")]
RGBA8 = 3,
// Please, do not add values into MonoMac/iOS without adding an explicit value
#endif
@ -72,4 +73,38 @@ namespace XamCore.CoreImage {
RGh = 21,
RGf = 22
}
[iOS (11,0)]
[Mac (10,13)]
[TV (11,0)]
[Native]
public enum CIQRCodeErrorCorrectionLevel : nint {
L = 76,
M = 77,
Q = 81,
H = 72,
}
[iOS (11,0)]
[Mac (10,13)]
[TV (11,0)]
[Native]
public enum CIDataMatrixCodeEccVersion : nint {
V000 = 0,
V050 = 50,
V080 = 80,
V100 = 100,
V140 = 140,
V200 = 200,
}
[iOS (11,0)]
[Mac (10,13)]
[TV (11,0)]
[Native]
public enum CIRenderDestinationAlphaMode : nuint {
None = 0,
Premultiplied = 1,
Unpremultiplied = 2,
}
}

Просмотреть файл

@ -8,7 +8,7 @@ namespace XamCore.CoreLocation {
#if !XAMCORE_2_0
public partial class CLBeaconRegion {
[Obsolete ("Does not return a valid instance on iOS8")]
[Obsolete ("Does not return a valid instance on iOS 8.")]
public CLBeaconRegion ()
{
}
@ -20,7 +20,7 @@ namespace XamCore.CoreLocation {
#if !TVOS
public partial class CLHeading {
[Obsolete ("Use the Description property from NSObject")]
[Obsolete ("Use the 'Description' property from 'NSObject'.")]
public new virtual string Description ()
{
return base.Description;
@ -30,7 +30,7 @@ namespace XamCore.CoreLocation {
public partial class CLLocation {
[Obsolete ("Use the Description property from NSObject")]
[Obsolete ("Use the 'Description' property from 'NSObject'.")]
public new virtual string Description ()
{
return base.Description;

Просмотреть файл

@ -87,7 +87,7 @@ namespace XamCore.CoreLocation {
Restricted,
Denied,
[Availability (Deprecated = Platform.iOS_8_0, Message = "Use AuthorizedAlways instead")]
[Availability (Deprecated = Platform.iOS_8_0, Message = "Use 'AuthorizedAlways' instead.")]
Authorized,
AuthorizedAlways = Authorized,
AuthorizedWhenInUse

Просмотреть файл

@ -0,0 +1,25 @@
//
// MLDictionaryFeatureProvider.cs
//
// Authors:
// Alex Soto <alexsoto@microsoft.com>
//
// Copyright 2017 Xamarin Inc. All rights reserved.
//
#if XAMCORE_2_0
using System;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.CoreML {
public partial class MLDictionaryFeatureProvider {
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public MLFeatureValue this [string featureName] {
get { return GetFeatureValue (featureName); }
}
}
}
#endif

Просмотреть файл

@ -0,0 +1,91 @@
//
// MLMultiArray.cs
//
// Authors:
// Alex Soto <alexsoto@microsoft.com>
//
// Copyright 2017 Xamarin Inc. All rights reserved.
//
#if XAMCORE_2_0
using System;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.CoreML {
public partial class MLMultiArray {
static NSNumber[] ConvertArray (nint[] value)
{
if (value == null)
return null;
return Array.ConvertAll<nint, NSNumber> (value, NSNumber.FromNInt);
}
// NSArray<NSNumber> => nint[]
internal static nint[] ConvertArray (IntPtr handle)
{
return NSArray.ArrayFromHandle<nint> (handle, (v) => Messaging.nint_objc_msgSend (v, Selector.GetHandle ("integerValue")));
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public MLMultiArray (nint [] shape, MLMultiArrayDataType dataType, out NSError error)
: this (ConvertArray (shape), dataType, out error)
{
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public MLMultiArray (IntPtr dataPointer, nint [] shape, MLMultiArrayDataType dataType, nint [] strides, Action<IntPtr> deallocator, out NSError error)
: this (dataPointer, ConvertArray (shape), dataType, ConvertArray (strides), deallocator, out error)
{
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public NSNumber this [nint idx] {
get { return GetObject (idx); }
set { SetObject (value, idx); }
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public NSNumber this [params nint[] indices] {
get { return GetObject (indices); }
set { SetObject (value, indices); }
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public NSNumber this [NSNumber [] key] {
get { return GetObject (key); }
set { SetObject (value, key); }
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public NSNumber GetObject (params nint[] indices)
{
using (var arr = NSArray.FromNSObjects<nint> (NSNumber.FromNInt, indices))
return GetObject (arr.GetHandle ());
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public void SetObject (NSNumber obj, params nint[] indices)
{
using (var arr = NSArray.FromNSObjects<nint> (NSNumber.FromNInt, indices))
SetObject (obj, arr.GetHandle ());
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public nint[] Shape {
get {
return ConvertArray (_Shape);
}
}
[Watch (4,0), TV (11,0), Mac (10,13, onlyOn64: true), iOS (11,0)]
public nint[] Strides {
get {
return ConvertArray (_Strides);
}
}
}
}
#endif

Просмотреть файл

@ -0,0 +1,25 @@
//
// MLMultiArrayConstraint.cs
//
// Authors:
// Rolf Bjarne Kvinge <rolf@xamarin.com>
//
// Copyright 2017 Microsoft Inc. All rights reserved.
//
#if XAMCORE_2_0
using System;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.CoreML {
public partial class MLMultiArrayConstraint {
public nint[] Shape {
get {
return MLMultiArray.ConvertArray (_Shape);
}
}
}
}
#endif

Просмотреть файл

@ -28,6 +28,23 @@ namespace XamCore.CoreMedia {
return Runtime.GetNSObject<NSDictionary> (attachments, true);
}
#if XAMCORE_2_0
// There is some API that needs a more strongly typed version of a NSDictionary
// and there is no easy way to downcast from NSDictionary to NSDictionary<TKey, TValue>
public static NSDictionary<TKey, TValue> GetAttachments<TKey, TValue> (this ICMAttachmentBearer target, CMAttachmentMode attachmentMode)
where TKey : class, INativeObject
where TValue : class, INativeObject
{
if (target == null)
throw new ArgumentNullException (nameof (target));
var attachments = CMCopyDictionaryOfAttachments (IntPtr.Zero, target.Handle, attachmentMode);
if (attachments == IntPtr.Zero)
return null;
return Runtime.GetNSObject<NSDictionary<TKey, TValue>> (attachments, true);
}
#endif
[DllImport(Constants.CoreMediaLibrary)]
extern static /* CFTypeRef */ IntPtr CMGetAttachment (/* CMAttachmentBearerRef */ IntPtr target, /* CFStringRef */ IntPtr key,
/* CMAttachmentMode */ out CMAttachmentMode attachmentModeOut);

Просмотреть файл

@ -212,7 +212,7 @@ namespace XamCore.CoreMedia {
[DllImport(Constants.CoreMediaLibrary)]
extern static /* CMTimebaseRef */ IntPtr CMTimebaseGetMasterTimebase (/* CMTimebaseRef */ IntPtr timebase);
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Please use CopyMasterTimebase")]
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Use 'CopyMasterTimebase' instead.")]
public CMTimebase GetMasterTimebase ()
{
var ptr = CMTimebaseGetMasterTimebase (Handle);
@ -225,7 +225,7 @@ namespace XamCore.CoreMedia {
[DllImport(Constants.CoreMediaLibrary)]
extern static /* CMClockRef */ IntPtr CMTimebaseGetMasterClock (/* CMTimebaseRef */ IntPtr timebase);
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Please use CopyMasterClock")]
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Use 'CopyMasterClock' instead.")]
public CMClock GetMasterClock ()
{
var ptr = CMTimebaseGetMasterClock (Handle);
@ -238,7 +238,7 @@ namespace XamCore.CoreMedia {
[DllImport(Constants.CoreMediaLibrary)]
extern static /* CMClockOrTimebaseRef */ IntPtr CMTimebaseGetMaster (/* CMTimebaseRef */ IntPtr timebase);
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Please use CopyMaster")]
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Use 'CopyMaster' instead.")]
public CMClockOrTimebase GetMaster ()
{
var ptr = CMTimebaseGetMaster (Handle);
@ -251,7 +251,7 @@ namespace XamCore.CoreMedia {
[DllImport(Constants.CoreMediaLibrary)]
extern static /* CMClockRef */ IntPtr CMTimebaseGetUltimateMasterClock (/* CMTimebaseRef */ IntPtr timebase);
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Please use CopyUltimateMasterClock")]
[Availability (Introduced = Platform.iOS_6_0 | Platform.Mac_10_8, Deprecated = Platform.iOS_9_0 | Platform.Mac_10_11, Message="Use 'CopyUltimateMasterClock' instead.")]
public CMClock GetUltimateMasterClock ()
{
var ptr = CMTimebaseGetUltimateMasterClock (Handle);

Просмотреть файл

@ -104,7 +104,7 @@ namespace XamCore.CoreMedia {
public static readonly CMTimeRange Zero;
#if !XAMCORE_3_0
[Obsolete ("Use InvalidRange")]
[Obsolete ("Use 'InvalidRange'.")]
public static readonly CMTimeRange Invalid;
#endif
public static readonly CMTimeRange InvalidRange;

Просмотреть файл

@ -9,7 +9,7 @@ namespace XamCore.CoreMotion {
public partial class CMSensorRecorder {
[Obsolete ("Apple removed this API in iOS 9.3")]
[Obsolete ("Apple removed this API in iOS 9.3.")]
public virtual CMSensorDataList GetAccelerometerDataSince (ulong identifier)
{
return null;

Просмотреть файл

@ -4,6 +4,7 @@
using System;
using XamCore.Foundation;
using XamCore.ObjCRuntime;
namespace XamCore.CoreSpotlight {
@ -17,6 +18,34 @@ namespace XamCore.CoreSpotlight {
SetValue (value, key);
}
}
// Manually deal with these properties until we get BindAs working
[iOS (11,0), NoTV, Mac (10, 11)]
public bool? IsUserCreated {
get {
return _IsUserCreated?.BoolValue;
} set {
_IsUserCreated = value.HasValue ? new NSNumber (value.Value) : null;
}
}
[iOS (11, 0), NoTV, Mac (10, 11)]
public bool? IsUserOwned {
get {
return _IsUserOwned?.BoolValue;
} set {
_IsUserOwned = value.HasValue ? new NSNumber (value.Value) : null;
}
}
[iOS (11, 0), NoTV, Mac (10, 11)]
public bool? IsUserCurated {
get {
return _IsUserCurated?.BoolValue;
} set {
_IsUserCurated = value.HasValue ? new NSNumber (value.Value) : null;
}
}
}
}

Просмотреть файл

@ -2191,7 +2191,7 @@ namespace XamCore.CoreText {
var ret = new CTFontDescriptor [n];
for (nint i = 0; i < n; i++)
ret [i] = new CTFontDescriptor (retArray.GetValue (i), true);
ret [i] = new CTFontDescriptor (retArray.GetValue (i), false);
return ret;
}

Просмотреть файл

@ -64,7 +64,7 @@ namespace XamCore.CoreText {
return CTFontManagerIsSupportedFont (url.Handle);
}
#elif !XAMCORE_3_0
[Obsolete ("API not available on iOS, it will always return false")]
[Obsolete ("API not available on iOS, it will always return false.")]
[Availability (Deprecated = Platform.Mac_10_6, Unavailable = Platform.iOS_Version)]
public static bool IsFontSupported (NSUrl url)
{

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше